2013-12-11 63 views
2

我有一個用Java編寫的控制器,我想用Specs2來測試它。我可以用JUnit測試我的控制器,它工作正常。但我無法用specs2進行測試。我跟着the documentation,它提到我應該通過一個fakeRequest作爲參數。但是Java控制器中的方法不接受任何參數,所以我無法使用這種方法。我可以在Play Framework 2中使用specs2測試Java控制器嗎?

我該如何測試它?只有我能想到的方法是使用與JUnit相同的方法,但是使用specs2並沒有帶來好處。

回答

2

哦,我已經想出了自己。

我可以使用play.test.Helpers的幫手,然後我將它們與specs2匹配器一起使用,並按預期工作。

import controllers.routes 
import org.specs2.mutable.Specification 
import play.test.Helpers._ 
import play.api.test._ 

class MyControllerSpec extends Specification { 
    "My Controller" should { 
    "respond with text/plain content type" in new WithApplication { 
     val result = callAction(routes.ref.MyController.index(), fakeRequest()) 
     contentType(result) mustEqual "text/plain" 
    } 
    } 
} 
相關問題