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でPIDを見つけることができます#Linuxで使用しました

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

プロセスを強制終了します:-913173を強制終了します

于 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 に答える