次のコードのコントローラーがあります。
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: []
テストで設定した params 値 profileURL はコントローラから見えませんか? コントローラーが見えるようにパラメーターを設定するにはどうすればよいですか?