我正在使用coverage.py以 html 报告的形式检查单元测试的代码覆盖率。
coverage run -m pytest
coverage html
Run Code Online (Sandbox Code Playgroud)
该报告非常酷,它显示了总体覆盖率 % 和单个 .py 文件的覆盖率 %。每次我完成一些代码更改时,我都会重新运行覆盖率报告,以检查我的单元测试用例是否可以很好地覆盖新代码。然而,问题是我必须手动发现是否有任何 .py 文件的覆盖率特别低。
有什么方法或现有工具可以用来将测试覆盖率与之前/历史运行进行比较?这样我就可以轻松发现是否有任何 .py 文件的覆盖率显着下降。
使用Visual Studio 2013 Professional的C++单元测试框架,可以编写单元测试并在IDE中运行它们,但是为了生成任何覆盖报告,显然需要有Visual Studio的Premium或Ultimate版本.
是否可以使用专业版获得代码覆盖率报告,最好不安装任何第三方工具?如果没有,那些没有使用更昂贵的IDE版本的人会有哪些替代选项?
请注意,可以使用命令行工具生成coverage数据,但我无法找到查看结果的方法.为了便于参考,以下是命令行生成覆盖率统计信息的步骤:
/PROFILE链接器开关构建要测试的代码vsinstr /coverage <binaryName>以检测代码; 确保您在VS 2013命令提示符下start vsperfmon -coverage -output:results以运行探查器vsperfcmd -shutdown上面会给你一个results.coverage文件,据我所知,没有Premium或Ultimate版本就无法查看它.
我正在尝试为我的 Android 应用程序获取代码覆盖率,我注意到当测试失败时,不会生成 jacoco 报告,只会生成coverage.ec。
有谁知道如何将coverage.ec 文件转换为jacoco 报告?
这对我不起作用:Jacoco 将coverage.ec 转换为没有coverage.em 的报告
祝一切顺利!
约翰尼
Jacoco显示Kotlin数据类的覆盖率为0%。如何配置它以测量覆盖率或完全忽略数据类?
我有用NuxtJS编写的VueJS应用程序.这个设置导致我在不同的目录中有很多文件index.vue.当我运行测试套件时,jest --no-cache --watch --coverage仅推荐1个文件index.vue已被覆盖结果选中.
我在package.json中的jest配置是:
"jest": {
"transform": {
"^.+.vue$": "vue-jest",
"^.+.js$": "babel-jest"
},
"collectCoverage": true,
"collectCoverageFrom": [
"**/*.{js,vue}",
"!**/node_modules/**"
],
"coverageReporters": [
"text"
],
"setupTestFrameworkScriptFile": "jest-extended"
}
Run Code Online (Sandbox Code Playgroud)
并且结果显示仅覆盖1个index.vue文件(即使我有多个以及其他.vue文件).
我需要添加哪些配置选项来运行所有.vue文件的覆盖范围?
当我运行纱线测试或纱线测试[文件名]时,我的所有组件都通过了测试。但是,当我使用 --coverage 标志运行测试时,出现以下错误,指向我创建的自定义渲染函数的包装器。自定义渲染函数或多或少是从react-testing-library文档中复制/粘贴的:https://testing-library.com/docs/react-testing-library/setup
到目前为止,我尝试过的以下命令均无效:yarn test --coverage、yarn test --coverage --watchAll=false、yarn test --collectCoverage、npm run test --coverage、npm run test --coverage --全部观看=假
错误:
Error: Uncaught [Error: Wrapper(...): Nothing was returned from render. This usually means a return statement is missing. Or, to render nothing, return null.]
82 | );
83 | };
> 84 | return rtlRender(ui, { wrapper: Wrapper, ...renderOptions });
| ^
85 | };
86 |
87 | const render = (ui: ReactElement, { store = createStore(appReducer, initialState as AppApiStore), …Run Code Online (Sandbox Code Playgroud) 一直在尝试在代码覆盖率徽章中显示覆盖率。我在 CI/CD --> JOBS 部分获得覆盖范围,但 gitlab 徽章中的覆盖范围没有更新。以下是我的 gitlab-ci.yml 文件,我在其中找到覆盖范围并将其保存在工件中。
variables:
DOCKER_DRIVER: overlay2
GIT_CLEAN_FLAGS: -ffdx -e node_modules/
GIT_DEPTH: 10
stages:
- test
test:
image: docker:19.03.12
services:
- docker:dind
stage: test
script:
- c8 --all --reporter=text-summary npm run test
artifacts:
when: always
paths:
- coverage
Run Code Online (Sandbox Code Playgroud)
配置-测试覆盖率解析-“Statements\s+:\s(\d+.?\d+)%”
我正在使用Gherkin语法的行为驱动开发 (BDD) 方法设计我的测试,并使用Cucumber JS运行我的测试。
我正在使用Cucumber Studio共享报告并与我的业务利益相关者和管理层保持同步。
最近,我需要获取该项目的测试覆盖率报告,并进行了一些研究,但无法决定使用哪个库来获取覆盖率报告以及如何获取。
到目前为止,我已经找到了JSCover、Cucumber Reports和Istanbul来获取测试覆盖率报告,但我不确定如何准确使用它们,以及哪种最适合我的情况与 Cucumber JS 一起使用。
我有一个项目(android 和 iOS),我在其中共享共享文件夹中的通用代码。我已经在 commonTest(unit-test) 文件夹下编写了单元测试,并在 androidTest(instrumentation test) 文件夹中编写了 Instrumentation 测试。当我进行单独测试时效果很好。但我也想看看报道。虽然我可以为 commonTest 执行“运行测试覆盖率”操作,但它不适用于 androidTest。任何在这里有帮助的工具。我尝试搜索并尝试了 jacoco 和 kover 的一些东西,但无济于事。
android android-testing test-coverage kotlin-multiplatform kotlin-multiplatform-mobile
test-coverage ×10
unit-testing ×4
android ×2
jacoco ×2
jestjs ×2
c++ ×1
codecov ×1
coverage.py ×1
cucumberjs ×1
dart ×1
flutter ×1
gitlab ×1
istanbul ×1
javascript ×1
jscoverage ×1
kotlin ×1
kotlin-multiplatform-mobile ×1
node.js ×1
python ×1
reactjs ×1
vue.js ×1