在Grails中模拟mixin类

时间:2013-07-23 21:07:35

标签: unit-testing grails groovy mocking

我在单元测试控制器时遇到了一些困难。

我有以下对象:

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方法?

1 个答案:

答案 0 :(得分:1)

我从未用mixin做过这个,也许你可以测试一下。在你的* ControllerTests

@Before
void setUp() {
  ..
  controller.metaClass.userDetails = {
    new User(username: 'somename')
  }
}