我有带有以下代码的控制器:
def profile = Profile.findByProfileURL(params.profileURL)
和这样的单元测试:
@TestMixin(GrailsUnitTestMixin)
@TestFor(ProfileController)
@Mock([User])
class ProfileControllerTests {
def void testIndex() {
mockDomain(User, [[firstname: 'Niko',...]])
controller.params.profileURL = 'niko-klansek'
controller.index()
...
}
}
当我运行测试时,控制器中出现以下异常,指的是:
No signature of method: sportboard.core.profile.Profile.methodMissing() is applicable for argument types: () values: []
那么我在测试中设置的参数值 profileURL 从控制器中看不到吗?如何为控制器设置参数以使其可见?