如何更改 Nightwatch.js 生成的 Junit XML 报告的文件名?

问题描述

我有一个 Nightwatch.js 测试套件正在运行。完成后,我已经使用 output_folder setting 配置了输出目录。它会在该目录中正确生成 JUnit XML 文件我有一个现有的自动化工具,它扫描 JUnit 测试 XML 文件的目录并报告它们。不幸的是,它只匹配具有命名方案的目录中的文件:TEST-.xml。假设我无法更改自动化工具上的匹配规则。我正在寻找一种方法添加“TEST-”作为我的测试的前缀。理想情况下,我可以通过配置 Nightwatch 来做到这一点。 Nightwatch 支持这个配置吗?我找不到任何此类选项。

解决方法

我最终更改了 package.json 中的测试脚本,以便在测试运行后重命名。这是它们之前的样子:

{
    // ...
    "scripts": {
        "integ-tests": "<some nightwatch command>"
    }
    // ...
}

这是他们追求的:

{
    // ...
    "scripts": {
        "rename-integ-tests": "node -e \"require('fs').readdir('<my test directory>',(err,files) => { files.forEach(file => { if(file.endsWith('.xml') && ! file.startsWith('TEST-')) { fs.rename('<my test directory>' + file,'<my test directory>/TEST-' + file,function(err) { if (err) console.log(err); console.log('Renamed Smoke Test: ' + file + ' to TEST-' + file) }) } }); });\"","private-integ-tests": "<some nightwatch command>","integ-tests": "npm run private-integ-tests && npm run rename-integ-tests"
    }
    // ...
}