Я пишу набор рискованных скриптов, которые будут использоваться как часть Библиотеки трубопроводов Дженкинса. В настоящее время я использую простой старый 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
}
}
Когда я призываю мой заводной сценарий, хотя я получаю:
java.lang.RuntimeException: Не знаю, как лечить /SourcCode/jenkins/pipeline-utils/tests/JustTestingSpec.groovy в качестве испытания JUnit
Это имеет смысл. Мне нужно использовать Спутник, но я посмотрел источник Spock и Sputnik, а также пример Spock, но все они предполагают, что вы используете maven или gradle. Я не могу понять, как правильно обращаться к Спутнику. Есть идеи?
См. Этот пример на GitHub: https://gist.github.com/ysb33r/5825457 – BalRog
@BalRog, я посмотрел на ваш пример и его начало, но то, что он отсутствует в приведенном выше, - это возможность автоматически находить и выполнить все спецификации. –