unit-testing - 在Grails中模拟mixin类

标签 unit-testing grails groovy mocking

我在对 Controller 进行单元测试时遇到了一些困难。

我有以下对象:

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

最佳答案

我从未用过mixin做到这一点,也许您可​​以测试一下。在您的* ControllerTests中

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

关于unit-testing - 在Grails中模拟mixin类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17821115/

相关文章:

javascript - 错误 : Expected undefined to equal in karma

python - 如何使用 __enter__/__exit__ 方法对类进行单元测试?

grails - 在 Grails 中更改包名称的命令

grails - Grails WebApp不显示GSP页面

function - 'f(x) { return x }' 与 'f = { x -> x }' 有何不同?

database - Groovy中的数据库时间转换

c# - 对象关于单元测试的状态

spring - 如何将 session ID保存到我的persistenceLogin表中

java - 使用 java "no such file or directory"运行 groovy 编译类的 Bash 错误

spring - 类没有资格被所有 BeanPostProcessor 处理