我在单元测试中使用了两个mockDomain。当我只启动一个UT(使用grails test-app -unit MyTest)时,测试通过,但是如果我启动整个测试套件(grails test-app -unit),我有两个mockDomain定义的测试失败了。
每次启动一次或启动整个套件时测试的运行方式是否有所不同?
我的代码示例:
void testSaveTranslation_ok() {
mockDomain(Translation)
mockDomain(HelpSubject, [new HelpSubject(name_fr: "subject")])
assertEquals(1, HelpSubject.count())
HelpSubject helpSubject = HelpSubject.findAll().get(0)
assertNull(helpSubject.name)
def translation = new Translation(defaultVal:"defaultVal", enVal: "enVal", frVal: "frVal", meta: "helpSubject#name#${helpSubject.id}")
assertEquals(0, Translation.count())
translationService.saveTranslation(translation)
assertEquals(1, Translation.count())
assertNotNull(helpSubject.name)
}
此致
大卫。
答案 0 :(得分:0)
我看到你如何模拟翻译和HelpSubject。
尝试使用:mockDomain(翻译,[翻译])