【发布时间】:2012-11-29 17:09:51
【问题描述】:
我的应用中有几个 Groovy 类,位于 src/groovy 下。相关的测试类应该去哪里,应该使用GroovyTestCase 还是 mixins(TestFor)?
【问题讨论】:
标签: unit-testing grails groovy
我的应用中有几个 Groovy 类,位于 src/groovy 下。相关的测试类应该去哪里,应该使用GroovyTestCase 还是 mixins(TestFor)?
【问题讨论】:
标签: unit-testing grails groovy
您可以为班级选择单元测试或集成测试。从docs可以看出他们的区别:
单元测试
单元测试是“单元”级别的测试。换句话说,你是 测试单个方法或代码块而不考虑 周边基础设施。单元测试通常在没有 存在涉及 I/O 的物理资源,例如数据库、套接字 连接或文件。这是为了确保它们尽可能快地运行 因为快速反馈很重要。
集成测试
集成测试与单元测试的不同之处在于您拥有完全访问权限 到测试中的 Grails 环境。
因此,如果您需要访问数据库或需要完整的环境,请进行集成测试。如果没有,请创建一个单元测试(这将使用内存数据库)。
@TestFor 旨在用于单元测试,因为这将模拟基本(参见GrailsUnitTestMixin)。如果选择集成测试,请不要使用注解。
【讨论】:
将它们放入test/unit。如果他们需要 Spring 上下文或休眠会话,请将它们放入 test/integration。您可以使用 GroovyTestCase 或 mixins,但它们是完全可选的。测试只需遵循以下约定:
Tests或Test结尾
test 开头或使用 JUnit 的 @Test 注释进行注释【讨论】: