我有一个大型grails项目分成几个“就地”插件,以保持良好和模块化。我的一个名为“核心服务”的插件包含我所有的域类,还包含一些抽象测试类中的一些很好的设置工作(添加模拟域实例等),这些测试由多个单元测试共享。
这对于也存在于插件中的单元测试来说非常有用,但我想使用该抽象测试类在其他使用该插件的grails项目测试中设置模拟数据。在运行测试时,似乎并没有插件的测试类包含在类路径中。有没有办法告诉Grails包含它们?:
//this abstract test class is in the core service plugin's test directory. My IDE has no problem with this import
import com.myproject.coreservices.service.AbstractGiftInstanceRelatedUnitTest
//this test class is in the project that uses the plugin
class ClaimGiftControllerTests extends AbstractGiftInstanceRelatedUnitTest {
.. my tests
}
输出(删除非重要部分):
| Error Compilation error compiling [unit] tests: startup failed:
...../test/unit/com/myproject/ClaimGiftControllerTests.groovy: 3: unable to resolve class com.myproject.coreservices.service.AbstractGiftInstanceRelatedUnitTest
@ line 3, column 1.
import com.myproject.coreservices.service.AbstractGiftInstanceRelatedUnitTest
^
答案 0 :(得分:2)
您可以将AbstractGiftInstanceRelatedUnitTest放入插件的src / groovy文件夹中,而不是测试文件夹中。这样你就可以将它包含在插件和其他项目的测试用例中。