首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >测试任务上不保留值的额外属性

测试任务上不保留值的额外属性
EN

Stack Overflow用户
提问于 2015-01-26 15:58:35
回答 1查看 55关注 0票数 1

我正在尝试在使用Java测试任务运行JUnit测试的gradle构建中添加一些设置和删除代码。我有一个额外的资源,必须在测试之前设置,然后在测试结束时被撕毁。

当我使用test.doLast特性时,资源将被正确地删除,除非有测试失败,在这种情况下,doLast被跳过。

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

我一直试图做的是为我首先设置的测试任务添加一个额外的属性,如果还没有设置它,就退出终结器。我的问题是,当我到达终结器任务时,测试属性不再被设置。

将这样的变量从doFirst任务传递给终结器的正确方法是什么?下面是我正在使用的代码的最小版本。

代码语言:javascript
运行
复制
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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-26 16:39:24

常见错误:在配置期间运行tearDownResource中的代码。试一试

task tearDownResource << {或将其放入doFirst/doLast

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28153762

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档