5

我的应用程序中有几个 Groovy 类,位于src/groovy. 相关的测试类应该去哪里,应该使用mixins()GroovyTestCase还是 mixins( TestFor)?

4

2 回答 2

4

您可以为班级选择单元测试或集成测试。从文档中您可以看到它们之间的区别:

单元测试

单元测试是“单元”级别的测试。换句话说,您正在测试单个方法或代码块,而不考虑周围的基础设施。单元测试通常在不存在涉及 I/O 等数据库、套接字连接或文件的物理资源的情况下运行。这是为了确保它们尽可能快地运行,因为快速反馈很重要。

集成测试

集成测试与单元测试的不同之处在于您可以完全访问测试中的 Grails 环境。

所以如果你需要访问数据库或者需要完整的环境,做一个集成测试。如果没有,请创建一个单元测试(这将使用内存数据库)。

@TestFor旨在用于单元测试,因为这将模拟基本(请参阅 参考资料)GrailsUnitTestMixin。如果您选择集成测试,请不要使用注释。

于 2012-11-29T18:24:43.070 回答
1

把它们放进去test/unit。如果他们需要 spring 上下文或休眠会话,请将它们放入test/integration. 您可以使用GroovyTestCase或 mixins,但它们是完全可选的。测试只需要遵循以下约定:

  • 类名必须以Testsor结尾Test
  • 测试方法必须以 JUnit 的注解开头test或被注解@Test
于 2012-11-29T18:15:21.003 回答