问题标签 [akka-testkit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
223 浏览

intellij-idea - Scalatest / Sbt / Akka-TestKit 测试持久 Actor 的问题

我正在使用 Akka TestKit 在 Persistent Actor 上运行测试。

我面临的一个奇怪问题是,尽管我在每次测试之前或之后清理持久性文件夹,但当我使用 sbt 运行完整的测试套件时,持久性文件夹似乎没有被删除。这是一个问题,因为从一个测试场景到下一个测试场景,都会携带持久化的数据。当下一个场景开始时,参与者从前一个场景中恢复数据,这会伪造它的测试。

仅当我使用 sbt 运行时才会发生这种情况。如果我用 Intellij 运行它,我没有问题,我的所有测试场景都运行得很好

请参阅下面我在测试中混入的 PersistenceSpec。

对我来说,不工作的是 BeforeEach 或 AfterEach。

有什么已知问题吗?Intellij 运行没有问题不是很奇怪吗?有人对此有任何想法吗?请分享经验、解决方案或想法。

0 投票
1 回答
127 浏览

sbt - Akka HTTP Java:不覆盖 org.scalatest.Suite 中的抽象方法 yeOldeTestNames()

我将使用akka-httpwith Java。路由成功完成并运行。但是当我尝试使用 编写测试用例时JUnitRouteTest,出现错误。

我正在关注akka http route testkit 文档。根据这个文档,我们只需要akka-http-testkit. 但是对于Java我们也需要Junit依赖。只有junit依赖我得到另一个错误是cannot access org.scalatest.junit.JUnitSuiteLike。我也注入了 scala 测试依赖,如下所示:

然后我收到以下错误:

我怎么能解决这个问题。以下是我的代码:

路线类

测试班

0 投票
1 回答
696 浏览

akka - 使用 Kotlin 和 akka-testkit 测试 akka actor

我正在尝试使用 akka 和 kotlin。我正在使用akka java API。Actor 类工作正常。但是我无法使用 Akka-testkit 实现测试用例。

这是我的测试用例,

我收到以下错误 -

我是 Kotlin 的新手,可能是什么问题?

0 投票
1 回答
196 浏览

unit-testing - Akka.net Testkit does not mark test case failed despite ActorInitializationException exception

Following is the actor, I've defined (trying to get my head around persistent actor!!)

Following is unit test case that I've defined:

When I run the test case, there is an exception that I can see in the output window of the test case

but the test case is marked as success enter image description here

Is there any way/settings in the TestKit, where it can be set such that for any exception, mark the test case failed?

0 投票
1 回答
1088 浏览

scala - 如何对 akka 演员的响应进行测试?

我正在尝试了解 akka-Testkit”,并希望可以询问它。

我找到了一些教程和博客,它们可以访问 TestActorRef 上的基础Actor 的 state- 或 lastMsg- 属性。但是,来自 "akka-testkit_2.11" % "2.4.10" 的 TestActorRef 没有这些属性。我查看了 akka 网站上的示例,也许我遗漏了一些东西,但是它们显示了对回声演员的测试,但没有使用任何简单的演员实现。

那么,如果 n % 3 == 0 (在示例中就是这种情况),有人可以帮助我了解如何测试一个将以相同数字响应的工人。如果可能的话,我宁愿不使用未来和询问模式,并希望对参与者将给出的响应进行测试(从参与者的角度来看,通过访问其状态或类似的东西)。

相关: 如何测试向另一个actor发送消息的Akkaactor?

现在我正在使用同步测试方法;

0 投票
0 回答
106 浏览

scala - 为什么我的演员测试不确定地失败?

我正在使用带有 TestKit 和 Scalatest 的 Akka 2.4.2 来编写和测试演员。每当我检查我的演员封装的一些可变状态时,似乎都会出现竞争条件。我有一个非常简单的演员,可以在远程数据库中保存一些状态:

DAO 方法具有类型签名dao.save(s:String): Future[String]。对数据库的调用是异步的,并且是在设置之后进行的state = str,因此似乎没有任何东西会阻止该字符串的分配。演员伴随着一个单元测试:

如果我单独运行此测试,它将可靠地通过。然而,当我运行所有的演员测试(我有十几个不同的演员)时,这个测试用例将不确定地通过/失败。因此,似乎发生了某种竞赛。我正在使用默认的 Akka 配置。Akka 社区对可能出现的问题有任何想法吗?

0 投票
1 回答
198 浏览

scala - 在 akka-http testkit 中设置 Get() 的时间等待时间?

我正在使用 akka-http 测试套件。我有以下代码,只要我将服务器响应延迟超过 1 秒,测试就会“失败”。

错误信息是:

请求在 1 秒内既没有完成也没有被拒绝

是否可以修改此等待时间,例如使用隐式?

0 投票
0 回答
286 浏览

scala - Akka:使用 TestProbes 测试监督策略

我正在测试一个生成和协调童工演员的演员。为了做到这一点,我用TestProbes 替换了子 actor 创建,它用于观察和模拟交换的消息。

但是,我在尝试测试演员的监督策略时遇到了问题。我能够通过AutoPilotTestProbe. 但事实证明,TestProbes 默认由系统监护人监督,我的测试参与者没有收到错误通知。

想到的一个想法是设置一个中间ForwarderActors 层,该层将由测试参与者监督并生成测试异常,但否则会在TestProbe测试参与者之间转发消息,如下所示:

这样,actor 将得到适当的监督,但仍然可以使用TestProbes 检查消息。

我想知道是否有更简单的方法可以做到这一点?

0 投票
1 回答
413 浏览

scala - 测试由包含 Try[T] 的 akka actor 返回的消息

我正在开发一个 Akka 演员,它会以 type 的消息进行响应PutAck[Try[String]]。问题不在于如何开发参与者本身,而在于单元测试。

鉴于以下演员代码

我希望通过以下测试对其进行测试

不幸的是,测试失败并显示消息

我认为失败是由于hashCode两个例外的不同。

我该如何测试这个案例?

0 投票
0 回答
52 浏览

akka - Akka FSM Testkit 无法正确捕获 *starting state*

我正在使用 Akka FSM 来模拟移动的电梯(你要去:不再!:-))并尝试使用常规 Testkit 功能测试 FSM,但我的理解或 FSM 的已发布行为似乎存在差距(或两者)。

这是代码的相关部分:

人们期望 FSM 将在 CurrentState 消息被创建并调用 startWith函数之后做出响应,但这并没有发生。此测试(再次部分代码)失败:

因此:

我的理解有差距吗?如果是的话,请教育我。

我还看到完全相同的问题 - 在这里以更概括的形式提出- 没有得到回答。这难道不是 Akka FSM 和 Testkit 语义上的一个缺口,值得解决吗?:-P