我正在寫一組groovy腳本作爲Jenkins管道庫的一部分。目前我使用普通的舊JUnit來測試它們,但想切換到Spock。我只需通過調用以下groovy腳本從命令行運行測試。如何從命令行使用Spock
import groovy.util.AllTestSuite
import junit.textui.TestRunner
System.setProperty(AllTestSuite.SYSPROP_TEST_DIR, "./tests")
System.setProperty(AllTestSuite.SYSPROP_TEST_PATTERN, "**/*Test.groovy")
TestRunner.run(AllTestSuite.suite())
我想知道什麼樣的等效腳本會運行Spock規範。我第一次嘗試將SYSPROP_TEST_PATTERN切換爲"**/*Spec.groovy
。我有一個...Spec.groovy
文件書面和坐在./tests
下,看起來像這樣:
@Grab(group='org.spockframework', module='spock-core', version='1.0-groovy-2.3')
import spock.lang.*
class UtilsSpec extends Specification {
def "Just testing"() {
expect:
1 + 1 == 2
}
}
當我調用我的Groovy腳本,雖然我得到:
了java.lang.RuntimeException:不知道如何治療 /SourcCode/jenkins/pipeline-utils/tests/JustTestingSpec.groovy作爲 JUnit測試
這是有道理的。我需要使用Sputnik,但我已經看過Spock和Sputnik源代碼以及Spock示例項目,但是這些都假設您使用的是Maven或Gradle。我無法想出直接調用人造衛星的正確方法。有任何想法嗎?
在GitHub上看到這個例子:https://gist.github.com/ysb33r/5825457 – BalRog
@BalRog,我看了你的例子,它是一個開始,但它從上面缺少的是能夠自動查找並執行所有規格。 –