【问题标题】:How to run Spock Integration test on Grails如何在 Grails 上运行 Spock 集成测试
【发布时间】:2017-02-03 11:12:19
【问题描述】:

我的项目的技术堆栈是 Grails 3.2.3、Groovy 2.4.7、Gradle 3.2.1、GORM 和 IDE 是 Intellij,后端是 MongoDB。 我已经实现了 Spock Integraction 测试类 TestControllerSpec 并想运行单个 Spock 集成测试 为了运行单个测试用例需要进行哪些配置更改以及如何更改?

@Integration
@Rollback
class TestControllerSpec extends Specification {

    @Unroll
    void "temp listObjects"(){        
        def result   
        def params = [id:  '123']
        when:
        result = controller.index(10)
        then:
        result == null
        result.size()==0
    }
}

【问题讨论】:

  • 如果您在 IntelliJ 中,您能否不只是右键单击规范中的任意位置并告诉它运行该测试?
  • 您检查过 grails-spock 集成中的documentation 吗? Gradle 可以使用命令行参数模式(gradle docsexamples)执行单个测试,例如gradle test --tests org.gradle.SomeTest.someSpecificFeature
  • 如果这是来自 IntelliJ 内部,您可以使用 intellij-gradle 集成并在 intellij 内部使用上述 --tests 参数运行“测试”任务。
  • Task.leftShift(Closure) 方法已被弃用,并计划在 Gradle 5.0 中删除。请改用 Task.doLast(Action)。在 build_cib62r8qsn00vq0cqu7xznhk6.run(C:\MyProject\build.gradle:23)。 *** 即使第 23 行评论 //apply plugin:"org.grails.grails-web" 也不起作用

标签: grails spock


【解决方案1】:

使用命令行:

grails test-app -integration

或针对特定测试:

grails test-app com.best.company.BestTestClass -integration

【讨论】:

  • 低于错误 **************** 线程“Thread-4”中的异常 java.lang.IllegalStateException:正在 java.lang.ApplicationShutdownHooks 处关闭.add(ApplicationShutdownHooks.java:66) 在 java.lang.Runtime.addShutdownHook(Runtime.java:211)
  • 在 de.flapdoodle.embed.process.io.file.FileCleaner.forceDeleteOnExit(FileCleaner.java:52) 在 de.flapdoodle.embed.process.io.file.Files.forceDelete(Files. java:125)在 de.flapdoodle.embed.process.extract.ExtractedFileSets.delete(ExtractedFileSets.java:76) 在 de.flapdoodle.embed.process.store.ExtractedArtifactStore.removeFileSet(ExtractedArtifactStore.java:147)
  • 在 de.flapdoodle.embed.process.runtime.Executable.stop(Executable.java:77) 在 de.flapdoodle.embed.process.runtime.Executable$JobKiller.run(Executable.java: 90) 在 java.lang.Thread.run(Thread.java:745) :mergeTestReports
  • 从堆栈跟踪信息来看,报告文件删除似乎存在一些问题。 Flapdoodle 与 mongo 有某种关系吗?我相信答案可以在给定堆栈跟踪的类的源代码中找到。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-19
  • 2011-07-11
  • 2016-06-07
  • 2017-02-07
  • 1970-01-01
相关资源
最近更新 更多