grails mockDomain()在测试和所有测试套件上运行时的不同行为

时间:2011-10-25 14:41:29

标签: unit-testing grails mocking

我在单元测试中使用了两个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)
}

此致

大卫。

1 个答案:

答案 0 :(得分:0)

我看到你如何模拟翻译和HelpSubject。

尝试使用:mockDomain(翻译,[翻译])