我想在Cypress的前端进行代码覆盖。目前,柏树推荐伊斯坦布尔进行报道。不幸的是,我不能在下面的堆栈中使用它:
由于: -我找不到让ts-loader使用istanbul的方法,因为istanbul-intementer-loader uses babel under the hood -babel-loader不像打字稿那样支持装饰器,即breaks vue-property-decorator。在打字稿中使用vue而不使用vue-property-decorator不是那么整洁...
以下是一些有用的链接:
Here's回购和快速概述:
git clone https://github.com/akoidan/vue-webpack-typescript && cd vue-webpack-typescript
yarn install
yarn run build
yarn run e2e
您还可以在上面的仓库中查看babel分支,以查看使用babel而不是ts-loader的示例
以下是使用ts-loader进行安装的示例:
package.json :
{
"nyc": {
"extends": "@istanbuljs/nyc-config-typescript",
"all": true
}
}
赛普拉斯/积分/sample_spec.ts:
describe('My first Test', function() {
it('Does not much', function() {
cy.visit('/');
cy.contains('Filtered Users');
})
});
cypress / plugins / index.js :
module.exports = (on) => {
on('task', require('@cypress/code-coverage/task'));
on('file:preprocessor', require('@cypress/code-coverage/use-browserify-istanbul'));
};
cypress / support / index.js :
import './commands'
import '@cypress/code-coverage/support';
测试chrome devtool :
window.__coverage__ // undefined
标准输出:
----------|----------|----------|----------|----------|-------------------|
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s |
----------|----------|----------|----------|----------|-------------------|
All files | 0 | 0 | 0 | 0 | |
----------|----------|----------|----------|----------|-------------------|
答案 0 :(得分:0)
以下是使用codecov
的github回购示例