【问题标题】:Where should I put test cases for Groovy classes in a Grails app?我应该在 Grails 应用程序中将 Groovy 类的测试用例放在哪里?
【发布时间】:2012-11-29 17:09:51
【问题描述】:

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

【问题讨论】:

    标签: unit-testing grails groovy


    【解决方案1】:

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

    单元测试

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

    集成测试

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

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-07-03
        • 2016-09-20
        • 1970-01-01
        • 2010-10-23
        • 2014-02-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多