2017-02-03 47 views
0

我的項目的技術堆棧是Grails 3.2.3,Groovy 2.4.7,Gradle 3.2.1,GORM和IDE是Intellij,後端是MongoDB。 我已經實現了Spock Integraction測試類TestControllerSpec,並且想要運行單個Spock集成測試 運行單個測試用例需要哪些配置更改以及如何運行?如何在Grails上運行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 
    } 
} 
+0

如果你在的IntelliJ的時候,你能不能隨便找個地方規範中單擊鼠標右鍵,並告訴它來運行該測試? – railsdog

+0

您是否檢查過grails-spock集成中的[documentation](https://grails.org/plugin/spock)? Gradle可以使用命令行參數模式執行單個測試([gradle docs](https://docs.gradle.org/current/userguide/java_plugin.html#test_filtering),[示例](http://snippets.bitshifts.c​​om) /2016/03/19/running-single-test.html)),如'gradle test --tests org.gradle.SomeTest.someSpecificFeature' –

+0

如果這是來自IntelliJ內部,則可以使用intellij-gradle集成並運行在intellij中使用上面的'--tests'參數進行'測試'任務。 –

回答

0

使用命令行:

grails test-app -integration 

或針對特定測試:

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

獲取以下錯誤****************在線程「線程-4」中的異常java.lang.IllegalStateException:正在進行關閉 at java.lang.ApplicationShutdownHooks.add(ApplicationShutdownHooks.java:66) at java.lang.Runtime.addShutdownHook(Runtime.java:211) – Raj

+0

at de.flapdoodle.embed.process.io.file.FileCleaner.forceDeleteOnExit(FileCleaner.java:52) at de.flapdoodle.embed.process.io.file.Files.forceDelete(Files.java:125) at de .flapdoodle.embed.process.extract.ExtractedFileSets.delete(ExtractedFileSets.java:76) at de.flapdoodle.embed.process.store.E xtractedArtifactStore.removeFileSet(ExtractedArtifactStore.java:147) – Raj

+0

at de.flapdoodle.embed.process.runtime.Executable.stop(Executable.java:77) at de.flapdoodle.embed.process.runtime.Executable $ JobKiller.run( Executable.java:90) at java.lang.Thread.run(Thread.java:745) :mergeTestReports – Raj