У меня есть параметризованная сборка, и она определена в файле dsl как
Thread thr = Thread.currentThread()
def build = thr?.executable
def resolver = build.buildVariableResolver
Map<String, JobParam> paramMap = JobConstants.PARAM_MAP
for (String key : paramMap.keySet()) {
paramMap.put(key, new JobParam(paramMap.get(key), (String)resolver.resolve(key)))
}
......
Теперь я пытаюсь протестировать этот файл dsl и написал следующий тестовый код
public void testJob() {
JobManagement jm = new MemoryJobManagement()
File f = new File("jobs/PipelinesCreator.groovy")
DslScriptLoader.runDslEngine f.text, jm
}
но это дает мне следующую ошибку: javaposse.jobdsl.dsl.DslScriptException: (сценарий, строка 13) Нет такого свойства: исполняемый файл для класса: java.lang.Thread
Я попытался выполнить существующий тест в job-dsl-core (https://github.com/jenkinsci/job-dsl-plugin/blob/785de7f877fdbe8fc56b8b2423ae76ec9c59fa66/job-dsl-core/src/test/groovy/javaposse/jobdsl/dsl/DslScriptLoaderSpec.groovy#L238) для запуска отличных скриптов.
Как я могу исправить эту проблему и обеспечить успешное выполнение теста.