我为 Controller 编写了一个单元测试。
我有一个引导文件,它通过添加一个方法来改变域类的元类 asPublicMap()
.我在 Controller 中使用此方法将域类返回为 json,但仅返回一些选定的公共(public)字段。
由于 MissingMethodException
,我的单元测试失败了对于 asPublicMap()
.据我了解,引导类不加载用于单元测试,仅用于集成测试。这就是我收到此错误的原因。
我的问题是:是否有其他地方可以放置元类操作以便在单元测试期间将它们考虑在内?
最佳答案
只需将单元测试移至集成测试即可解决。加载引导类以进行集成测试,因此现在它运行良好。
我对迁移的担忧是关于 @Mock
注释,但令人惊讶的是它也适用于集成测试。该数据库不用于模拟域类。
关于unit-testing - Grails 单元测试和引导,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12835257/