gpt4 book ai didi

gradle - 测试任务的额外属性无法保持值(value)

转载 作者:行者123 更新时间:2023-12-03 03:43:23 26 4
gpt4 key购买 nike

我正在尝试向使用Java插件测试任务运行JUnit测试的gradle构建中添加一些设置和拆卸代码。我有一个Extral资源,必须在测试之前进行设置,然后在测试结束时将其拆除。

当我使用test.doLast功能时,除非测试失败,否则资源会被正确拆除,在这种情况下,会跳过doLast

我试图创建一个终结器任务,但是它每次在doFirst中设置资源还是因为所有目标都是最新的而被跳过时都会运行。当doFirst没有运行时,我需要跳过终结器任务。

我一直试图做的是向我在do期间设置的测试任务中添加一个额外的属性,如果尚未设置,则退出finalizer。我的问题是,当我完成终结器任务时,将不再设置test属性。

将这样的变量从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 - 测试任务的额外属性无法保持值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28153762/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com