如何向JobDSL测试提供配置文件?

时间:2017-12-14 22:53:36

标签: maven jenkins groovy jenkins-job-dsl

在Job DSL插件弃用之后,我一直在试图让我的头发工作,并放弃了对一些旧的ConfigFile类的支持。我有使用Config File Provider插件的Jenkins作业来获取Maven设置。不幸的是,我的单元测试失败了

MavenSettings config file with name 'my-maven-settings' not found.

我正在尝试创建该文件的测试部分在这里:

    given:
    JobManagement jm = new JenkinsJobManagement(System.out, [:], new File('.'))

    ConfigProvider cfgProvider = jenkinsRule.getInstance().getExtensionList(MavenSettingsConfig.MavenSettingsConfigProvider.class).get(MavenSettingsConfig.MavenSettingsConfigProvider.class)
    Config siteCfg = cfgProvider.newConfig("${Projects.siteAbbr}-mvn-settings","${Projects.mavenSettingsName}",null,null)

    GlobalConfigFiles.get().save(siteCfg)


    when:
    new DslScriptLoader(jm).runScript(file.text)

    then:
    noExceptionThrown()

    where:
    file << jobFiles

该代码似乎不会给Groovy编译器带来任何问题,但它似乎并没有提供我的工作期望看到的内容。知道如何在单元测试Job DSL脚本时创建配置文件吗?

1 个答案:

答案 0 :(得分:0)

更新到Job DSL 1.65或更高版本。在该版本中,检查已被删除,并且接受任何配置文件ID。因此,在测试脚本时,您无需创建或模拟任何配置文件。