unit-testing - 如何在Grails 3中填充域类以进行单元测试

标签 unit-testing grails gorm spock grails-3.0

我想知道如何建立一个域类对象的世界以用于我的单元测试。最好的方法是什么?

说这是我的代码ServiceX:

   List<Course> getAllCoursesByType(String type) {
        List<Course> list = Course.findAllByType(type)
        list
   }

这是对ServiceX的测试:
 import grails.buildtestdata.mixin.Build
 import grails.test.mixin.TestFor
 import grails.test.mixin.Mock
 import spock.lang.Specification


  @TestFor(ServiceX)

    class ServiceXSpec extends Specification { 

      void "get all open courses"() {
       given:
       String type = "open"
       when:
       def list = service.getAllCoursesByType(type)

       then:
      list.size() == 4
     }

}

如何“预填充”测试数据库(内存),使列表中实际上有4个这样的对象?

最佳答案

为此创建集成测试。查看示例here

关于unit-testing - 如何在Grails 3中填充域类以进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35600502/

相关文章:

multithreading - log4net - LogicalThreadContext - 和单元测试用例

java - hibernate java好奇心 - 保存对象后,要保存的对象和已保存的对象都设置了id

java - Intellij 使用 JAR 库导出 WAR 文件

hibernate - 缺少数据源时,如何防止Bootstrap数据迁移运行

c# - 我可以使用 moq Mock<MyClass> 来模拟一个类,而不是一个接口(interface)吗?

javascript - 使用 "doMock"以避免提升时开 Jest 不模拟模块

grails - 如何从 Controller 中的日期选择器中获取选定日期的值?

grails - 如何在GRAILS JWT中发送其他参数

grails - findAllWhere和列表获取

grails - Gorm一对一和一对多