我应该在Grails应用程序中将Groovy类的测试用例放在哪里?

时间:2012-11-29 17:09:52

标签: unit-testing grails groovy

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

2 个答案:

答案 0 :(得分:4)

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

单元测试

  

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

整合测试

  

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

因此,如果您需要访问数据库或需要完整的环境,请执行集成测试。如果没有,请创建一个单元测试(这将使用内存数据库)。

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

答案 1 :(得分:1)

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

  • 班级名称必须以TestsTest
  • 结尾
  • 测试方法必须以test开头或使用JUnit的@Test注释
  • 进行注释