如何在sbt中运行Akka Java测试

时间:2018-05-08 19:45:25

标签: sbt akka scalatest

似乎sbt在我的Akka应用程序中忽略了我的Java测试,可能是因为我不太了解,因为我不熟悉Junit,Akka Testkit relies on。我的代码是否缺少一些必要的仪式?

import akka.testkit.javadsl.TestKit;
import org.scalatest.junit.*;
import VowpalWrapper.Actors.*;
import VowpalWrapper.DecisionPoint.*;
import java.util.*;

public class JavaInitializationTest extends JUnitSuite {
   public void test() {
     List<String> actions = Arrays.asList("action A", "action B", "action C");
     DecisionPointDef dp = new DecisionPointDef("some-decision-point", "0.0", actions);
   }
}

最初,我正在编写这些测试只是为了验证我的Java API,以便在Scala中编写(并在别处测试)的actor类。

我的build.sbt非常简单,但我会将其包括在内以防万一:

scalaVersion := "2.12.4"
libraryDependencies ++= Seq(
  "org.scalactic" %% "scalactic" % "3.0.5",
  "org.scalatest" %% "scalatest" % "3.0.5" % "test",
  "org.apache.commons" % "commons-math3" % "3.6.1",
  "com.typesafe.akka" %% "akka-actor" % "2.5.1",
  "com.typesafe.akka" %% "akka-testkit" % "2.5.1" % Test
)

尝试为@Test注释添加import org.junit.Test,我不确定要包含哪个版本的junit来匹配Akka Testkit堆栈,或者这是否是一个非常好的主意。< / p>

非常感谢提前!!

1 个答案:

答案 0 :(得分:0)

将junit添加到build.sbt解决了这个问题。 对于我的情况:

  

&#34; junit的&#34; %&#34; junit&#34; %&#34; 4.12&#34; %测试

希望与我build.sbt中的Akka TestKit版本对应的junit版本对应。有人应该真的更新https://doc.akka.io/docs/akka/2.5/testing.html我猜。