@casualbot/jest-sonar-reporter

中文文档
2.7.1发布于 2026/05/13MITTypeScriptCommonJS构建来源已验证近 30 天下载 8.8万

杰斯的声纳测试记者.

中文使用文档
文档目录4 节
  1. 安装
  2. 使用量
  3. 用作测试
  4. 配置

Jest 声纳记者

Quality Gate Status Maintainability Rating

SonarQube Cloud

@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_NAMEsuiteNamename 属性 <testsuites>"jest tests"不详
JEST_SONAR_OUTPUT_DIRoutputDirectory要保存输出的目录 .process.cwd()不详
JEST_SONAR_OUTPUT_NAMEoutputName输出的文件名 ."jest-report.xml"不详
JEST_SONAR_OUTPUT_FILEoutputFile完全选择输出。 如果定义, outputDirectory 财务报告和审定财务报表 outputName 将被覆盖undefined不详
JEST_SONAR_56_FORMATformatForSonar56将为 Sonar 5.6 生成 xml 报告false不详
JEST_SONAR_RELATIVE_PATHSrelativePaths生成 xml 报表时将使用相对路径false不详
JEST_SONAR_UNIQUE_OUTPUT_NAMEuniqueOutputName为输出创建唯一文件名 jest-sonar-report-${uuid}.xml,覆盖 outputNamefalse不详
JEST_SONAR_SUITE_NAMEsuiteNameTemplate模板字符串用于 name 属性 <testsuite>。 。 。 ."{title}"{title}, (中文(简体) ), {filepath}, (中文(简体) ), {filename}, (中文(简体) ), {displayName}
JEST_SONAR_CLASSNAMEclassNameTemplate模板字符串 classname 属性 <testcase>。 。 。 ."{classname} {title}"{classname}, (中文(简体) ), {title}, (中文(简体) ), {suitename}, (中文(简体) ), {filepath}, (中文(简体) ), {filename}, (中文(简体) ), {displayName}
JEST_SONAR_TITLEtitleTemplate模板字符串 name 属性 <testcase>。 。 。 ."{classname} {title}"{classname}, (中文(简体) ), {title}, (中文(简体) ), {filepath}, (中文(简体) ), {filename}, (中文(简体) ), {displayName}
JEST_SONAR_ANCESTOR_SEPARATORancestorSeparator用于加入的字符 describe 块." "不详
JEST_SONAR_ADD_FILE_ATTRIBUTEaddFileAttribute在输出中添加文件属性 。 此配置主要用于 Circle CI. 此设置提供了更丰富的细节, 但可能会在其它 CI 平台上中断 。 一定是个弦."false"不详
JEST_SONAR_INCLUDE_CONSOLE_OUTPUTincludeConsoleOutput在测试运行中生成 stdout 的测试套件中添加控制台输出 .false不详
JEST_SONAR_INCLUDE_SHORT_CONSOLE_OUTPUTincludeShortConsoleOutput在测试运行期间生成 stdout 的测试套件中添加短控制台输出(只包含消息值) .false不详
JEST_SONAR_REPORT_TEST_SUITE_ERRORSreportTestSuiteErrors未全部执行的报告测试套件 error。 。 。 . 说明: 由于无法从无法加载的文件中确定套接字名称,因此默认会提交路径.false不详
JEST_SONAR_NO_STACK_TRACEnoStackTraceOmit 从测试失败报告堆叠痕迹, 类似于 jest --noStackTracefalse不详
JEST_USE_PATH_FOR_SUITE_NAMEusePathForSuiteName失败。 使用 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'
            }
        ]
    ],
}

版本与发布记录

@casualbot/jest-sonar-reporter 共发布 19 个版本,首次发布于 2021/12/10;过去 12 个月发布了 5 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
2.7.1latest2026/05/135 个月前
2.7.02026/04/286 个月前
2.6.02026/04/146 个月前
2.5.12026/04/057 个月前
2.5.02025/12/0611 个月前
2.4.02024/09/082 年前

关于 @casualbot/jest-sonar-reporter 的常见问题

@casualbot/jest-sonar-reporter 是什么?

杰斯的声纳测试记者.

如何安装 @casualbot/jest-sonar-reporter?

在项目目录运行 npm install @casualbot/jest-sonar-reporter,或使用 pnpm add / yarn add / bun add。

@casualbot/jest-sonar-reporter 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@casualbot/jest-sonar-reporter 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@casualbot/jest-sonar-reporter 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=14.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@casualbot/jest-sonar-reporter 可以商用吗?

@casualbot/jest-sonar-reporter 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@casualbot/jest-sonar-reporter 的下载量有多少?

根据 npm 官方下载统计,@casualbot/jest-sonar-reporter 在 2026/10/09 – 2026/11/07 这 30 天内被下载 88,271 次,日均约 2,942 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@casualbot/jest-sonar-reporter 还在维护吗?

最新版本 2.7.1 发布于 2026/05/13(5 个月前);至今共发布 19 个版本,其中过去 12 个月发布了 5 个;首次发布于 2021/12/10。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。