gpt4 book ai didi

gradle - 在Gradle中测试目录是否存在?

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

我在其中必须放置一些结果的目录,但是用户可以对其进行配置
如果该目录不存在,则必须创建它。但是现在我必须为该代码编写测试。

getOutputPath()是getter方法

@Optional
def outputPath = new File('build/sampleDir')


@TaskAction
def generate() {
if (!getOutputPath().exists()) {
project.mkdir(getOutputPath())
}

创建在Action闭包中,因此可以在执行阶段执行,但是如果我尝试执行以下操作:
    ...
def 'change default outputPath dir'() {
when:
someTask.outputPath = new File(project.rootProject.buildDir, "newPath")
then:
....

expect:
project.afterEvaluate {
generateQRFromTextTask.getOutputQRPath().exists() == true
}
}

令我惊讶的是,此代码也通过 project.gradle.buildFinished {
没有他们,它就会失败。为什么在评估之后测试通过 通过?

进行此检查的最佳方法是什么(对于目录是否存在?在构造函数中还是在?

最佳答案

该属性应使用@OutputDirectory注释,在这种情况下,将自动创建目录。

PS:根据测试的确切性质,可能永远不会触发afterEvaluate

PPS:具有默认值的属性不需要用@Optional注释。

关于gradle - 在Gradle中测试目录是否存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25062543/

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