Jest 声纳记者
@casualbot/jest-sonar-reporter 是从Christian W. 原始作品衍生出来的 Jest 的自定义结果处理器 这里。 。 。 .
已更新,以便作为记者用于 jest.config以及,提供输出生成的XML文件相对路径的能力.
安装
使用 npm :
npm install --save-dev @casualbot/jest-sonar-reporter
使用线条 :
yarn add --dev @casualbot/jest-sonar-reporter
使用量
在您的拼图中添加以下条目:
{
"reporters": [ "default", "@casualbot/jest-sonar-reporter" ]
}
然后简单运行:
jest
对于您的持续整合,您只需做:
jest --ci --reporters=default --reporters=@casualbot/jest-sonar-reporter
用作测试
支持 testResultsProcessor 仅出于[遗留原因][测试-结果-处理器]而保留,并可能在将来被删除.
因此,您应该选择配置 @casualbot/jest-sonar-reporter 作为 记者。 。 。 .
如果您还想要, 请在您的游戏配置中添加以下条目 :
{
"testResultsProcessor": "@casualbot/jest-sonar-reporter"
}
然后简单运行:
jest
对于您的持续整合,您只需做:
jest --ci --testResultsProcessor="@casualbot/jest-sonar-reporter"
配置
@casualbot/jest-sonar-reporter 根据环境变量或环境变量提供几种配置 @casualbot/jest-sonar-reporter 键定义 package.json 或记者选项.
环境变量和软件包。 json 配置应该是 字符串。 。 。 .
记者选项也应该是套件的字符串例外NameTemplate, classetNameTemplate,标题NameTemplate,也可以接受函数返回字符串.
| 环境可变名称 | 记者配置名称 | 说明 | 默认 | 可能的注射值 |
|---|---|---|---|---|
JEST_SUITE_NAME | suiteName | name 属性 <testsuites> | "jest tests" | 不详 |
JEST_SONAR_OUTPUT_DIR | outputDirectory | 要保存输出的目录 . | process.cwd() | 不详 |
JEST_SONAR_OUTPUT_NAME | outputName | 输出的文件名 . | "jest-report.xml" | 不详 |
JEST_SONAR_OUTPUT_FILE | outputFile | 完全选择输出。 如果定义, outputDirectory 财务报告和审定财务报表 outputName 将被覆盖 | undefined | 不详 |
JEST_SONAR_56_FORMAT | formatForSonar56 | 将为 Sonar 5.6 生成 xml 报告 | false | 不详 |
JEST_SONAR_RELATIVE_PATHS | relativePaths | 生成 xml 报表时将使用相对路径 | false | 不详 |
JEST_SONAR_UNIQUE_OUTPUT_NAME | uniqueOutputName | 为输出创建唯一文件名 jest-sonar-report-${uuid}.xml,覆盖 outputName | false | 不详 |
JEST_SONAR_SUITE_NAME | suiteNameTemplate | 模板字符串用于 name 属性 <testsuite>。 。 。 . | "{title}" | {title}, (中文(简体) ), {filepath}, (中文(简体) ), {filename}, (中文(简体) ), {displayName} |
JEST_SONAR_CLASSNAME | classNameTemplate | 模板字符串 classname 属性 <testcase>。 。 。 . | "{classname} {title}" | {classname}, (中文(简体) ), {title}, (中文(简体) ), {suitename}, (中文(简体) ), {filepath}, (中文(简体) ), {filename}, (中文(简体) ), {displayName} |
JEST_SONAR_TITLE | titleTemplate | 模板字符串 name 属性 <testcase>。 。 。 . | "{classname} {title}" | {classname}, (中文(简体) ), {title}, (中文(简体) ), {filepath}, (中文(简体) ), {filename}, (中文(简体) ), {displayName} |
JEST_SONAR_ANCESTOR_SEPARATOR | ancestorSeparator | 用于加入的字符 describe 块. | " " | 不详 |
JEST_SONAR_ADD_FILE_ATTRIBUTE | addFileAttribute | 在输出中添加文件属性 。 此配置主要用于 Circle CI. 此设置提供了更丰富的细节, 但可能会在其它 CI 平台上中断 。 一定是个弦. | "false" | 不详 |
JEST_SONAR_INCLUDE_CONSOLE_OUTPUT | includeConsoleOutput | 在测试运行中生成 stdout 的测试套件中添加控制台输出 . | false | 不详 |
JEST_SONAR_INCLUDE_SHORT_CONSOLE_OUTPUT | includeShortConsoleOutput | 在测试运行期间生成 stdout 的测试套件中添加短控制台输出(只包含消息值) . | false | 不详 |
JEST_SONAR_REPORT_TEST_SUITE_ERRORS | reportTestSuiteErrors | 未全部执行的报告测试套件 error。 。 。 . 说明: 由于无法从无法加载的文件中确定套接字名称,因此默认会提交路径. | false | 不详 |
JEST_SONAR_NO_STACK_TRACE | noStackTrace | Omit 从测试失败报告堆叠痕迹, 类似于 jest --noStackTrace | false | 不详 |
JEST_USE_PATH_FOR_SUITE_NAME | usePathForSuiteName | 失败。 使用 suiteNameTemplate 换句话说. 使用文件路径作为 name 属性 <testsuite> | "false" | 不详 |
您可以通过以下命令行配置这些选项:
JEST_SUITE_NAME="Jest JUnit Unit Tests" JEST_SONAR_OUTPUT_DIR="./artifacts" jest
或者你也可以定义一个 @casualbot/jest-sonar-reporter 键 package.json全部为 字符串 数值.
{
...,
"jest": {
"rootDir": ".",
"testResultsProcessor": "@casualbot/jest-sonar-reporter"
},
"@casualbot/jest-sonar-reporter": {
"suiteName": "jest tests",
"outputDirectory": "coverage",
"outputName": "jest-report.xml",
"uniqueOutputName": "false",
"classNameTemplate": "{classname}-{title}",
"titleTemplate": "{classname}-{title}",
"ancestorSeparator": " › ",
"usePathForSuiteName": "true",
"relativePaths": "true"
}
}
或者可以在记者配置中定义自己的选项.
// jest.config.js
{
reporters: [
'default',
[
'@casualbot/jest-sonar-reporter',
{
relativePaths: true,
outputName: 'sonar-report.xml',
outputDirectory: 'coverage'
}
]
],
}