必须明确运行akka multi-jvm测试

时间:2013-06-02 18:13:48

标签: scala sbt akka

当使用sbt“multi-jvm:test”命令时,sbt报告没有要运行的测试。但是,如果我明确地运行测试,例如“multi-jvm:run package.testName”然后它们运行良好。

我正在使用{TestName} MultiJvm {NodeName}的默认约定,以及src / multi-jvm / scala的默认路径

编辑:

这是我运行仅测试时发生的事情

multi-jvm:test-only multijvm.commands.CommandsAreSentToRegisteredHandlers_
[info] Compiling 1 Scala source to /mnt/repos/akkesb/target/classes...
[info] No tests to run.

但这是我如何让它运行

> multi-jvm:run multijvm.commands.CommandsAreSentToRegisteredHandlers_
[info] * multijvm.commands.CommandsAreSentToRegisteredHandlers_
[JVM-_MarketingServiceHost] [ERROR] [06/10/2013 20:22:30.608] [akkesb-akka.actor

这是我的标记:

> multi-jvm:multi-jvm-marker
[info] MultiJvm

定义测试:

> multi-jvm:multi-jvm-marker
[info] MultiJvm

1 个答案:

答案 0 :(得分:1)

1)请检查您的multiJvmMarker in MultiJvm

我有multiJvmMarker in MultiJvm := "_j"

所以没有_j后缀的测试没有运行

2)请检查您的definedTests in MultiJvm

我有例如definedTests in MultiJvm <<= definedTests in Test

你必须看到像

这样的东西
> show multi-jvm:defined-tests
[info] List(Test org.digimead.digi.lib.rudp.RUDPTest_j1 : subclass(false, org.scalatest.Suite), Test org.digimead.digi.lib.rudp.RUDPTest_j2 : subclass(false, org.scalatest.Suite)

您的测试是从test-only开始的吗?实际上我可以用

开始

multi-jvm:test-only org.digimead.digi.lib.rudp.RUDPTest

请注意_j后缀。在你的情况下可能会有所不同。

更新:

有一个简单的客户端/服务器测试作为使用MultiJVM的示例:RUDPTest