测试任务的额外 属性 不保值
Extra property on test task not keeping value
我正在尝试向 gradle 构建添加一些设置和拆卸代码,该构建使用 Java 插件测试任务进行 运行JUnit 测试。我有一个额外的资源,必须在测试之前设置,然后在测试结束时拆除。
当我使用 test.doLast
功能时,资源会被正确删除,除非测试失败,在这种情况下会跳过 doLast
。
我已经尝试创建一个终结器任务,但是每次 运行s 资源是在 doFirst
中设置的还是被跳过了,因为所有的目标都达到了日期。当 doFirst
不是 运行.
时,我需要跳过终结器任务
我一直在尝试做的是向我在 do first 期间设置的测试任务添加一个额外的 属性,如果尚未设置,则退出终结器。我的问题是,当我到达终结器任务时,不再设置测试 属性。
将这样的变量从 doFirst 任务传递到终结器的正确方法是什么?下面是我正在使用的代码的最小版本。
test.ext {
resourceStarted = false
}
task tearDownResource {
if (!test.resourceStarted) return
// tear down resource here
}
test.finalizedBy tearDownResource
test.doFirst {
resourceStarted = true
// start up resource
}
当终结器 运行 的 test.resourceStarted
属性 总是 false
常见错误:您在 tearDownResource 中的代码在配置期间是 运行。尝试
task tearDownResource << {
或将其放入 doFirst
/doLast
我正在尝试向 gradle 构建添加一些设置和拆卸代码,该构建使用 Java 插件测试任务进行 运行JUnit 测试。我有一个额外的资源,必须在测试之前设置,然后在测试结束时拆除。
当我使用 test.doLast
功能时,资源会被正确删除,除非测试失败,在这种情况下会跳过 doLast
。
我已经尝试创建一个终结器任务,但是每次 运行s 资源是在 doFirst
中设置的还是被跳过了,因为所有的目标都达到了日期。当 doFirst
不是 运行.
我一直在尝试做的是向我在 do first 期间设置的测试任务添加一个额外的 属性,如果尚未设置,则退出终结器。我的问题是,当我到达终结器任务时,不再设置测试 属性。
将这样的变量从 doFirst 任务传递到终结器的正确方法是什么?下面是我正在使用的代码的最小版本。
test.ext {
resourceStarted = false
}
task tearDownResource {
if (!test.resourceStarted) return
// tear down resource here
}
test.finalizedBy tearDownResource
test.doFirst {
resourceStarted = true
// start up resource
}
当终结器 运行 的 test.resourceStarted
属性 总是 false
常见错误:您在 tearDownResource 中的代码在配置期间是 运行。尝试
task tearDownResource << {
或将其放入 doFirst
/doLast