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()',不再需要。更新答案。 –