0

コントローラーの単体テストで問題が発生しています。

次のオブジェクトがあります。

class User {
    String username
}

class SecurityMixin {

    User userDetails(session) {
        User user = new User()
        user.username = 'somename'
        return user
    }
}

@Mixin(SecurityMixin)
class MyController {
    def index() {
        def username = userDetails(session).username

    }
}

メソッドをどのようにモックしuserDetailsますか?

4

1 に答える 1

1

mixinでこれをやったことがないので、試してみてください。*ControllerTests で

@Before
void setUp() {
  ..
  controller.metaClass.userDetails = {
    new User(username: 'somename')
  }
}
于 2013-07-23T22:26:39.713 に答える