0
可能重複的內部類:
How to Mock Command Object that is inside Controller懲戒在常規
我有一個控制器類,它的內部我有一個命令對象。我有一個方法查找(),它使用該命令對象如下:
class RexController{
//command object
class SearchCommand{
String email
static constraints={
email blank:false,email:true
}
def find = {SearchCommand sc ->
if(!sc.hasErrors()){
----- do something---
}
}
現在,我寫一個測試用例來測試在控制器中的查找方法。但測試用例失敗
if(!sc.hasErrors())
由於sc仍爲'null'。我不確定如何在測試用例中處理這個內部類命令對象。 我至今寫測試用例是:
class itemControllerTests extends ControllerUnitTestCase {
void testFind(){
def model = controller.find()
assertNotNull(model)
}
}
如何處理在測試用例內部類Command對象。我嘲笑它嗎?我曾嘗試使用mockCommandObject(?),但不知道如何傳遞內部類命令對象到這?
我應該在測試用例中更改控制器的任何元類屬性,以便它可以識別內部類。
我收到這個錯誤,當我嘗試使用您的文章中的代碼。 groovy.lang.MissingMethodException:沒有方法的簽名:com.RexControllerTests.mockCommand()適用於參數類型:(java.lang.Class)values:[class com.RexController $ SearchCommand] – Npa
Ops,我被一些老的誤導郵件列表。 'mockCommand()'是一個'mockCommandObject()',不再需要。更新答案。 –