2012-10-02 53 views
2

我在Play中寫了一個驗收測試! 2框架,我的測試是:運行驗收測試播放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"); 
     } 

    }); 
} 

但是當我嘗試使用指令播放測試我得到一個錯誤這個測試:

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) 

我做了什麼錯?

由於

回答

2

我通過端口3333的另一個應用程序,然後在測試開始再現該錯誤消息。

也許您之前運行過測試,但未正確關閉。

你可以找到它的PID與 netstat的-onap | grep的3333#我用它在Linux

輸出示例: TCP6 0 0 ::: 3333 ::: * LISTEN 13173/JAVA AUS(0.00/0/0)

殺死進程: 殺-9 13173

+0

它現在是否正常工作,謝謝。 – elf

+0

這種端口工作方式,但有兩個測試在第一次測試後鎖定執行: – elf

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"); 
     } 

    }); 
} 

我不知道發生了什麼...