You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure DevOps UI中展示Vitest测试覆盖率?

问题:Azure DevOps UI无法展示Vitest测试覆盖率

配置详情

Vitest运行命令

vitest --coverage --no-threads

vite.config.ts配置

import { defineConfig } from 'vitest/config';
import tsconfigPaths from 'vite-tsconfig-paths';

export default defineConfig({
  plugins: [tsconfigPaths()],
  test: {
    coverage: {
      reporter: ['cobertura', 'text'],
    },
    include: ['packages/core/test/*'],
  },
});

Azure DevOps发布任务配置

- task: PublishCodeCoverageResults@1
  displayName: 'Publish code coverage results'
  inputs:
    codeCoverageTool: Cobertura
    summaryFileLocation: '$(System.DefaultWorkingDirectory)/**/*coverage.xml'
    reportDirectory: '$(System.DefaultWorkingDirectory)/**/coverage'

已验证的现象

  • 执行cat $(System.DefaultWorkingDirectory)/coverage/cobertura-coverage.xml可确认Cobertura格式的覆盖率XML已生成,片段如下:
<?xml version="1.0" ?>
<!DOCTYPE coverage SYSTEM "http://cobertura.sourceforge.net/xml/coverage-04.dtd">
<coverage lines-valid="1502" lines-covered="1240" line-rate="0.8255" branches-valid="29" branches-covered="26" branch-rate="0.8965000000000001" timestamp="1689237532968" complexity="0" version="0.1">
  <sources>
    <source>/home/vsts/work/1/s</source>
  </sources>
  <packages>
    <package name="core.src" line-rate="0.8223999999999999" branch-rate="0.8928">
      <classes>
        <class name="dynamo.ts" filename="packages/core/src/dynamo.ts" line-rate="1" branch-rate="1">
          <methods>
          </methods>
          <lines>
            <line number="1" hits="1" branch="false"/>
            <line number="2" hits="1" branch="false"/>
            <line number="3" hits="1" branch="false"/>
            <line number="4" hits="1" branch="false"/>
            <line number="5" hits="1" branch="false"/>
            <line number="6" hits="1" branch="false"/>
            <line number="7" hits="1" branch="false"/>
            <line number="8" hits="1" branch="false"/>
            <line number="9" hits="1" branch="false"/>
            <line number="10" hits="1" branch="false"/>
          </lines>
        </class>
        <class name="order.ts" filename="packages/core/src/order.ts" line-rate="0.8349" branch-rate="0.8887999999999999">
          <methods>
            <method name="defau
  • 管道工件中可看到生成的coverage文件夹
  • 核心问题:Azure DevOps UI始终无法展示测试覆盖率数据

内容的提问来源于stack exchange,提问作者gio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 12:25:35