我有一堆JUnit测试,想要执行它们。测试访问我的Play应用程序 host:port 以调用REST API。
我使用以下命令运行测试:
./activator -Dhttp.port=8090 -Dhttps.port=8091 test
我也尝试过这种方式:
D:\sigma-idp\auth>activator -Dhttp.port=8090 -Dhttps.port=8091
[info] Loading project definition from D:\sigma-idp\auth\project
[info] Set current project to auth (in build file:/D:/sigma-idp/auth/)
[auth] $ test
但问题是该应用程序尚未启动,JUnit测试尝试连接到Play应用程序以访问我的其余API。我不确定为什么测试没有启动应用程序。
如何在触发JUnit测试之前启动我的播放应用程序?
现在我只有在使用Eclipse启动应用程序时才能执行测试。
请建议!
答案 0 :(得分:0)
查看文档: https://www.playframework.com/documentation/2.3.x/JavaFunctionalTest 您必须显式启动自己的Web服务器实例进行测试:
@Test
public void testInServer() {
running(testServer(3333), new Runnable() {
public void run() {
assertThat(
WS.url("http://localhost:3333").get().get(timeout).getStatus()
).isEqualTo(OK);
}
});
}
您应该考虑直接测试控制器(按照文档中的建议)。