如何在启动播放应用程序后运行junits

时间:2015-05-29 05:56:25

标签: java junit playframework playframework-2.0

我有一堆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启动应用程序时才能执行测试。

请建议!

1 个答案:

答案 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);
    }
});

}

您应该考虑直接测试控制器(按照文档中的建议)。