如何修改Gradle Test任务的Allure报告存储路径?
解决Allure报告无法写入及修改存储路径的问题
错误原因
报错提示/Users/my_name/Documents/application_name/build/allure-results不是文件,本质是Allure Gradle插件需要将测试结果写入目录,但该路径可能不存在、你无写入权限,或插件配置异常导致它被误判为文件类型。
修改Allure报告存储路径的两种方法
方法1:通过Allure插件配置块指定路径
在build.gradle的allure配置块中添加resultsDir参数,自定义结果存储目录(选一个你有写入权限的路径,比如项目根目录下的自定义文件夹):
allure { version = '2.4.1' autoconfigure = true aspectjweaver = true allureJavaVersion = "18.0.1" // 自定义Allure结果存储目录 resultsDir = file("$projectDir/allure-test-results") }
方法2:通过Test任务的JVM参数指定路径
在test任务中添加-Dallure.results.directory系统属性,直接指定结果路径:
test { maxHeapSize = "6144m" jvmArgs "-XX:MaxMetaspaceSize=6144m", "-Dallure.results.directory=$projectDir/allure-test-results" useTestNG() { useDefaultListeners = true } }
额外注意事项
- 确保指定的目录有写入权限,若担心目录不存在,可在
test任务中添加自动创建目录的逻辑:
test { // ... 原有配置 doFirst { // 自动创建目录(含父目录) file("$projectDir/allure-test-results").mkdirs() } }
- 修改完成后,执行
./gradlew test,检查指定目录下是否生成了Allure结果文件(如.json、附件文件等)。
内容的提问来源于stack exchange,提问作者Daniel
相关产品推荐
相关产品推荐

