Я собираюсь использовать akka-http
с Java
. Маршрутизация выполнена успешно и выполняется. Но когда я пытаюсь написать тестовый пример, используя JUnitRouteTest
, у меня есть ошибка.Akka HTTP Java: не переопределять абстрактный метод yeOldeTestNames() в org.scalatest.Suite
com.james.controllers.PingPongApiTest is not abstract and does not override abstract method yeOldeTestNames() in org.scalatest.Suite
Я следую за akka http route testkit documentation. Согласно этой документации, нам потребовалось только akka-http-testkit
. Но для Java
Мы также потребовали Junit
depedency. С только junit зависимостью я получил другую ошибку cannot access org.scalatest.junit.JUnitSuiteLike
. Я также инъекционные SCALA тест depedency, как показано ниже:
libraryDependencies ++= Seq(
"com.typesafe.akka" % "akka-http-experimental_2.11" % "2.4.8",
"com.typesafe.akka" % "akka-http-testkit_2.11" % "2.4.8" % "test",
"junit" % "junit" % "4.12" % "test",
"org.scalatest" % "scalatest_2.11" % "3.0.0" % "test"
)
Тогда я получил ошибку ниже:
com.james.controllers.PingPongApiTest is not abstract and does not override abstract method yeOldeTestNames() in org.scalatest.Suite
[error] public class PingPongApiTest extends JUnitRouteTest {
[error] TestRoute route = testRoute(new PingPongApi().handleGetPingRequest());
[error]
[error] @Test
[error] public void testGetPingRequest() {
[error]
[error] route.run(HttpRequest.GET("/ping"))
[error] .assertStatusCode(StatusCodes.OK)
[error] .assertEntity("pong");
[error] }
[error] }
[error] (test:compileIncremental) javac returned nonzero exit code
[error] Total time: 1 s, completed 10 Aug, 2016 11:28:11 AM
Как я мог решить эту проблему. Ниже мой код:
Маршрут Класс
public class PingPongApi {
public Route handleGetPingRequest() {
return get(() -> route(
path("ping",() -> complete("pong"))
));
}
}
испытаний Класс
public class PingPongApiTest extends JUnitRouteTest {
TestRoute route = testRoute(new PingPongApi().handleGetPingRequest());
@Test
public void testGetPingRequest() {
route.run(HttpRequest.GET("/ping"))
.assertStatusCode(StatusCodes.OK)
.assertEntity("pong");
}
}
Thanks Harmeet! это решило мою проблему. Для Акку 2.4.10 и Maven вам нужно: \t \t \t org.scalatest \t \t scalatest_2.11 \t \t 3.0.0 \t \t \t тест \t \t –