2

我在 Play 中写了一个验收测试!2 框架,我的测试是:

    @Test
public void goToIndexPageAT() {
    running(testServer(3333, fakeApplication(inMemoryDatabase())), HTMLUNIT, new Callback<TestBrowser>()  {
        public void invoke(TestBrowser browser) {
            browser.goTo("http://localhost:3333/");
            assertThat(browser.url()).isEqualTo("http://localhost:3333/activities");
            assertThat(browser.$("#title").getTexts().get(0)).isEqualTo("FitTime");
        }

    });
}

但是当我尝试使用命令 play test 运行这个测试时,我得到了一个错误:

Test acceptenceTest.ApplicationTest.goToIndexPageAT failed: Server is not started!
[error]     at scala.sys.package$.error(package.scala:27)
[error]     at play.api.test.TestServer.stop(Selenium.scala:116)
[error]     at play.test.Helpers.stop(Helpers.java:308)
[error]     at play.test.Helpers.running(Helpers.java:338)
[error]     at acceptenceTest.ApplicationTest.goToIndexPageAT(ApplicationTest.java:17)

我做错了什么?

谢谢

4

2 回答 2

2

我通过将端口 3333 用于另一个应用程序然后开始测试来重现此错误消息。

也许您之前已经运行过测试,但它没有正确关闭。

您可以使用 netstat -onap |grep 3333 # 我在 Linux 中使用它来找到它的 PID

示例输出:tcp6 0 0 :::3333 :::* LISTEN 13173/java aus (0.00/0/0)

杀死进程:kill -9 13173

于 2012-10-03T07:22:41.390 回答
0

这里是测试:

@Test
public void goToIndexPageAT() {
    running(testServer(3333, fakeApplication(inMemoryDatabase())), HTMLUNIT, new Callback<TestBrowser>()  {
        public void invoke(TestBrowser browser) {
            browser.goTo("http://localhost:3333/");
            assertThat(browser.url()).isEqualTo("http://localhost:3333/activities");
            assertThat(browser.$("#title").getTexts().get(0)).isEqualTo("FitTime - Manage Your Exercises");
        }

    });
}

@Test
public void createNewActivityAT() {
     running(testServer(3333, fakeApplication(inMemoryDatabase())), HTMLUNIT, new Callback<TestBrowser>()  {
        public void invoke(TestBrowser browser) {
            browser.goTo("http://localhost:3333/");
            browser.$("#name").text("bike");
            browser.$("#time").text("10 KM");
        }

    });
}

我不知道发生了什么...

于 2012-10-03T15:27:41.237 回答