问题标签 [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.
tdd - 观察演员终止时的测试行为不一致
当我编写涉及订阅 Eventstream 上的事件或观看演员并列出“终止”的测试时,测试可以正常运行它们 1 接 1 但是当我运行整个测试套件时,这些测试会失败。如果这些测试中的每一个都在 Xunit 的单独测试类中,测试也可以工作。
怎么来的?
akka - 如何在 Akka 多节点测试中重启节点?
我想做一些 Akka 多节点测试,并在达到某个障碍时重新启动一个节点。就像是:
这是不能做到的吗,至少需要一种能够关闭nodeB并使用相同的akka.remote.netty.tcp.port启动另一个nodeC的方法(这是绝对必要的)。像这样的东西
问题可以恢复为:
我们可以重现一个节点崩溃然后重新启动的情况吗?
- 我们可以重启一个节点吗?
- 如果没有,我们可以在其余节点达到 berrier 时启动一个节点吗?
- 我们能否将相同的 akka.remote.netty.tcp.port 分配给不同的节点(不应并行运行)。我试过*.opts文件但没有成功,是这样吗?
akka.net - 如何使用 Akka.net 中的 TestKit 测试 DistributedPubSub?
我正在对使用集群工具的参与者进行单元测试DistributedPubSub
。对于测试,我使用的是 Akka.net 的 TestKit。
显然,在 TestKit 中,系统参与者Sys
没有该DistributedPubSub
工具,并且在访问它时会引发 Null 指针异常。
这是当 Actor 被创建为 Sys 的子级时失败的代码:
有没有办法模拟它或创建一个演员探针来使用它Sys
?
akka - 如何使用 akka-http-testkit 创建测试?
我正在尝试使用akka.http.scaladsl.testkit.ScalatestRouteTest创建一个简单的测试,结果是:
更新堆栈跟踪
构建.sbt
我能看到的是RequestContextImpl需要一个RequestContext
但是 RequestContext 是一个类而不是特征
知道如何解决这个问题吗?
scala - 用户/演员未收到来自系统/TestActor Akka TestKit 的消息
我有一个简单的 scala 类 CartService ,它创建一个演员并向其发送一些消息,然后演员通过 sender 向服务发回响应!结果演员代码
和服务代码
现在我正在为创建服务对象并调用将消息发送给参与者的服务方法的服务编写测试用例
但这次等待超时,我收到一条消息
[信息] [12/28/2016 16:07:10.441] [System-akka.actor.default-dispatcher-7] [akka://System/user/fd38f1b1-6f03-4997-8625-0ce7e0ef2626] 消息 [演员.GetCartUniqueSkuCountCmd] 从 Actor[akka://System/temp/$a] 到 Actor[akka://System/user/fd38f1b1-6f03-4997-8625-0ce7e0ef2626#279696660] 未交付。[2] 遇到死信。可以使用配置设置“akka.log-dead-letters”和“akka.log-dead-letters-during-shutdown”关闭或调整此日志记录。
通过一些谷歌搜索,我了解到这与发件人被关闭有关,但我无法解决这个问题。任何输入表示赞赏。
这是堆栈跟踪:
java.util.concurrent.TimeoutException:在 scala.concurrent.impl.Promise$DefaultPromise.ready(Promise.scala:219) 的 [15 秒] 之后,在 scala.concurrent.impl.Promise$DefaultPromise.result(Promise. scala:223) 在 scala.concurrent.Await$$anonfun$result$1.apply(package.scala:190) 在
scala.concurrent.BlockContext$DefaultBlockContext$.blockOn(BlockContext.scala:53) at scala.concurrent.Await$.result(package.scala:190) at services.CartService.getCartUniqueSkuCount(CartService.scala:103) at CartActorSpec$$ anonfun$1$$anonfun$apply$mcV$sp$1.apply$mcV$sp(CartActorSpec.scala:48) 在 CartActorSpec$$anonfun$1$$anonfun$apply$mcV$sp$1.apply(CartActorSpec.scala:44)在 CartActorSpec$$anonfun$1$$anonfun$apply$mcV$sp$1.apply(CartActorSpec.scala:44) 在 org.scalatest.Transformer$$anonfun$apply$1.apply$mcV$sp(Transformer.scala:22)在 org.scalatest.OutcomeOf$class.outcomeOf(OutcomeOf.scala:85) 在 org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104) 在 org.scalatest.Transformer.apply(Transformer.scala:22) 在 org .scalatest.Transformer.apply(Transformer.scala:20) 在 org.scalatest。WordSpecLike$$anon$1.apply(WordSpecLike.scala:953) at org.scalatest.Suite$class.withFixture(Suite.scala:1122) at CartActorSpec.withFixture(CartActorSpec.scala:19) at org.scalatest.WordSpecLike$class .invokeWithFixture$1(WordSpecLike.scala:950) at org.scalatest.WordSpecLike$$anonfun$runTest$1.apply(WordSpecLike.scala:962) at org.scalatest.WordSpecLike$$anonfun$runTest$1.apply(WordSpecLike.scala: 962) at org.scalatest.SuperEngine.runTestImpl(Engine.scala:306) at org.scalatest.WordSpecLike$class.runTest(WordSpecLike.scala:962) at CartActorSpec.runTest(CartActorSpec.scala:19) at org.scalatest。 WordSpecLike$$anonfun$runTests$1.apply(WordSpecLike.scala:1021) at org.scalatest.WordSpecLike$$anonfun$runTests$1.apply(WordSpecLike.scala:1021) at org.scalatest.SuperEngine$$anonfun$traverseSubNodes$1$1 .apply(Engine.scala:413) at org.scalatest.SuperEngine$$anonfun$traverseSubNodes$1$1.apply(Engine.scala:401) at scala.collection.immutable.List.foreach(List.scala:381) at org. scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:401) at org.scalatest.SuperEngine.org$scalatest$SuperEngine$$runTestsInBranch(Engine.scala:390) at org.scalatest.SuperEngine$$anonfun$traverseSubNodes$1$1.apply (Engine.scala:427) at org.scalatest.SuperEngine$$anonfun$traverseSubNodes$1$1.apply(Engine.scala:401) at scala.collection.immutable.List.foreach(List.scala:381) at org.scalatest .SuperEngine.traverseSubNodes$1(Engine.scala:401) at org.scalatest.SuperEngine.org$scalatest$SuperEngine$$runTestsInBranch(Engine.scala:396) at org.scalatest.SuperEngine.runTestsImpl(Engine.scala:483) at org.scalatest.WordSpecLike$class。runTests(WordSpecLike.scala:1021) at CartActorSpec.runTests(CartActorSpec.scala:19) at org.scalatest.Suite$class.run(Suite.scala:1424) at CartActorSpec.org$scalatest$WordSpecLike$$super$run( CartActorSpec.scala:19) at org.scalatest.WordSpecLike$$anonfun$run$1.apply(WordSpecLike.scala:1067) at org.scalatest.WordSpecLike$$anonfun$run$1.apply(WordSpecLike.scala:1067) at org .scalatest.SuperEngine.runImpl(Engine.scala:545) at org.scalatest.WordSpecLike$class.run(WordSpecLike.scala:1067) at CartActorSpec.org$scalatest$BeforeAndAfterAll$$super$run(CartActorSpec.scala:19)在 org.scalatest.BeforeAndAfterAll$class.liftedTree1$1(BeforeAndAfterAll.scala:257) 在 org.scalatest.BeforeAndAfterAll$class.run(BeforeAndAfterAll.scala:256) 在 CartActorSpec.run(CartActorSpec.scala:19)1021) 在 CartActorSpec.runTests(CartActorSpec.scala:19) 在 CartActorSpec.org$scalatest$WordSpecLike$$super$run(CartActorSpec.scala:19)在 org.scalatest.WordSpecLike$$anonfun$run$1.apply(WordSpecLike.scala:1067) 在 org.scalatest.WordSpecLike$$anonfun$run$1.apply(WordSpecLike.scala:1067) 在 org.scalatest.SuperEngine.runImpl (Engine.scala:545) at org.scalatest.WordSpecLike$class.run(WordSpecLike.scala:1067) at CartActorSpec.org$scalatest$BeforeAndAfterAll$$super$run(CartActorSpec.scala:19) at org.scalatest.BeforeAndAfterAll $class.liftedTree1$1(BeforeAndAfterAll.scala:257) at org.scalatest.BeforeAndAfterAll$class.run(BeforeAndAfterAll.scala:256) at CartActorSpec.run(CartActorSpec.scala:19)1021) 在 CartActorSpec.runTests(CartActorSpec.scala:19) 在 CartActorSpec.org$scalatest$WordSpecLike$$super$run(CartActorSpec.scala:19)在 org.scalatest.WordSpecLike$$anonfun$run$1.apply(WordSpecLike.scala:1067) 在 org.scalatest.WordSpecLike$$anonfun$run$1.apply(WordSpecLike.scala:1067) 在 org.scalatest.SuperEngine.runImpl (Engine.scala:545) at org.scalatest.WordSpecLike$class.run(WordSpecLike.scala:1067) at CartActorSpec.org$scalatest$BeforeAndAfterAll$$super$run(CartActorSpec.scala:19) at org.scalatest.BeforeAndAfterAll $class.liftedTree1$1(BeforeAndAfterAll.scala:257) at org.scalatest.BeforeAndAfterAll$class.run(BeforeAndAfterAll.scala:256) at CartActorSpec.run(CartActorSpec.scala:19)scalatest.Suite$class.run(Suite.scala:1424) at CartActorSpec.org$scalatest$WordSpecLike$$super$run(CartActorSpec.scala:19) at org.scalatest.WordSpecLike$$anonfun$run$1.apply(WordSpecLike .scala:1067) 在 org.scalatest.WordSpecLike$$anonfun$run$1.apply(WordSpecLike.scala:1067) 在 org.scalatest.SuperEngine.runImpl(Engine.scala:545) 在 org.scalatest.WordSpecLike$class。在 CartActorSpec.org 运行(WordSpecLike.scala:1067)$scalatest$BeforeAndAfterAll$$super$run(CartActorSpec.scala:19) 在 org.scalatest.BeforeAndAfterAll$class.liftedTree1$1(BeforeAndAfterAll.scala:257) 在 org.scalatest .BeforeAndAfterAll$class.run(BeforeAndAfterAll.scala:256) 在 CartActorSpec.run(CartActorSpec.scala:19)scalatest.Suite$class.run(Suite.scala:1424) at CartActorSpec.org$scalatest$WordSpecLike$$super$run(CartActorSpec.scala:19) at org.scalatest.WordSpecLike$$anonfun$run$1.apply(WordSpecLike .scala:1067) 在 org.scalatest.WordSpecLike$$anonfun$run$1.apply(WordSpecLike.scala:1067) 在 org.scalatest.SuperEngine.runImpl(Engine.scala:545) 在 org.scalatest.WordSpecLike$class。在 CartActorSpec.org 运行(WordSpecLike.scala:1067)$scalatest$BeforeAndAfterAll$$super$run(CartActorSpec.scala:19) 在 org.scalatest.BeforeAndAfterAll$class.liftedTree1$1(BeforeAndAfterAll.scala:257) 在 org.scalatest .BeforeAndAfterAll$class.run(BeforeAndAfterAll.scala:256) 在 CartActorSpec.run(CartActorSpec.scala:19)19) 在 org.scalatest.WordSpecLike$$anonfun$run$1.apply(WordSpecLike.scala:1067) 在 org.scalatest.WordSpecLike$$anonfun$run$1.apply(WordSpecLike.scala:1067) 在 org.scalatest.SuperEngine .runImpl(Engine.scala:545) at org.scalatest.WordSpecLike$class.run(WordSpecLike.scala:1067) at CartActorSpec.org$scalatest$BeforeAndAfterAll$$super$run(CartActorSpec.scala:19) at org.scalatest .BeforeAndAfterAll$class.liftedTree1$1(BeforeAndAfterAll.scala:257) at org.scalatest.BeforeAndAfterAll$class.run(BeforeAndAfterAll.scala:256) at CartActorSpec.run(CartActorSpec.scala:19)19) 在 org.scalatest.WordSpecLike$$anonfun$run$1.apply(WordSpecLike.scala:1067) 在 org.scalatest.WordSpecLike$$anonfun$run$1.apply(WordSpecLike.scala:1067) 在 org.scalatest.SuperEngine .runImpl(Engine.scala:545) at org.scalatest.WordSpecLike$class.run(WordSpecLike.scala:1067) at CartActorSpec.org$scalatest$BeforeAndAfterAll$$super$run(CartActorSpec.scala:19) at org.scalatest .BeforeAndAfterAll$class.liftedTree1$1(BeforeAndAfterAll.scala:257) at org.scalatest.BeforeAndAfterAll$class.run(BeforeAndAfterAll.scala:256) at CartActorSpec.run(CartActorSpec.scala:19)在 CartActorSpec.org 运行(WordSpecLike.scala:1067)$scalatest$BeforeAndAfterAll$$super$run(CartActorSpec.scala:19) 在 org.scalatest.BeforeAndAfterAll$class.liftedTree1$1(BeforeAndAfterAll.scala:257) 在 org.scalatest .BeforeAndAfterAll$class.run(BeforeAndAfterAll.scala:256) 在 CartActorSpec.run(CartActorSpec.scala:19)在 CartActorSpec.org 运行(WordSpecLike.scala:1067)$scalatest$BeforeAndAfterAll$$super$run(CartActorSpec.scala:19) 在 org.scalatest.BeforeAndAfterAll$class.liftedTree1$1(BeforeAndAfterAll.scala:257) 在 org.scalatest .BeforeAndAfterAll$class.run(BeforeAndAfterAll.scala:256) 在 CartActorSpec.run(CartActorSpec.scala:19)
PS 我的测试课确实有 ImplictSender 特质
java - 使用应用方法测试 Akka Persistent FSM Actor
我正在尝试使用其 Java api 在 AKKA 中开发 FSM 模型。我希望对这个功能进行单元测试。我已经经历了许多关于单元测试具有 lambda 支持的 Akka FSM 演员的示例,但我找不到任何相关示例来测试相同的.applying和.andthen方法,因此我可以确定测试涵盖了自定义处理从 DomainEventB 的参数派生的逻辑。
任何最好使用 Java 的帮助/资源将不胜感激。
java - java中使用EventFilter测试日志消息的例子
我找不到一个有效的 Java 示例来说明如何使用 Akka TestKit 中提供的 EventFilter 功能。我想断言某些内容已被记录,并且在搜索时我到达了文档中的这个链接:http: //doc.akka.io/docs/akka/current/java/testing.html#Expecting_Log_Messages
据我所知,示例代码已过时或未编译。
Scala 中的示例不是问题。我也了解应该如何使用 EventListener。我只是不知道如何在 Java 中使用它
maven - Maven Scalatest 插件未触发 Akka 测试
我的 Akka & Akka Http 应用程序的单元测试在执行“mvn 测试”时无法触发。
我在Scalatest Maven Plugin "no tests were executed"上发现了一个类似的问题,并尝试了那里提到的解决方案,但对我来说没有运气。
项目配置:Java:1.8 Scala:2.11.8 Akka:2.4.17 Akka http:10.0.3 scalatest:3.0.1 mvn:3.3.9
pom.xml :
scala - Akka TestKit 探针的严格模式
我正在为基于参与者的应用程序编写测试用例。其中一个组件可以大致定义如下:
现在,写一个我正在使用的测试用例akka-testkit
and TestProbe
。测试用例的一个重要部分如下所示:
现在的问题是测试用例通过了,即使发送到的消息b
不是预期的,因此也没有经过验证。
我知道我可以b.expectNoMsg()
在测试用例的开头调用它来解决这个特定问题,但不知何故我相信这不是一个真正可扩展的方法(我必须在所有预期的调用之后每次都添加它,这相当麻烦)。
所以我的问题是:是否可以选择akka-testkit
在严格模式下运行,以便每条消息都必须以某种方式预期?首选方法是 via或配置TestKit
,但任何不需要修改每个测试用例的解决方案都可以(因此在每次通信结束时调用不是解决方案)ActorSystem
TestProbe
expectNoMsg()