typescript - cypress kapsamı vue-property-decorator ile çalışmıyor
Ön uçta Cypress ile kod kapsamı yapmak istiyorum. Şu anda Cypress kapsam için Istanbul öneriyor. Ne yazık ki aşağıdaki yığın ile birlikte bunu kullanamıyorum:
- vue-özellik-dekoratörü
- koz
- İstanbul kod kapsamı.
- typescript.
Nedeniyle: - istanbul-intementer-loader alt yapısında babel kullandığı için istanbul'u ts-loader ile çalıştırmanın bir yolunu bulamadım - babel-loader, typescript'in yaptığı şekilde dekoratörleri desteklemiyor, bu da vue-property-decorator'ı bozuyor. vue-property-decorator olmadan TypeScript ile Vue kullanmak pek hoş değil...
İşte bazı faydalı linkler:
- babel kapsamlı depo için örnek
- resmî kılavuz
- TypeScript kullanıcıları için resmi GitHub deposu
- sedir sorunu
İşte depo ve hızlı bir genel bakış:
git clone https://github.com/akoidan/vue-webpack-typescript && cd vue-webpack-typescriptyarn installyarn run buildyarn run e2e
Ayrıca yukarıdaki depodaki babel dalını da inceleyebilirsiniz, ts-loader yerine babel ile örneği görmek için
İşte ts-loader ile kurulum örneği:
package.json:
{
"nyc": {
"extends": "@istanbuljs/nyc-config-typescript",
"all": true
}
}
cypress/iintegration/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';
test chrome geliştirici aracı:
window.__coverage__ // undefined
stdout:
----------|----------|----------|----------|----------|-------------------|
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s |
----------|----------|----------|----------|----------|-------------------|
All files | 0 | 0 | 0 | 0 | |
----------|----------|----------|----------|----------|-------------------|
Cevap #1
- Görünüşe göre ts-loader ile kapsam çalıştırmanın bir yolu yok
- vue-property-decorator ile çalışmasını sağlamak için babel 7 + babel-preset-typescript-vue gereklidir
İşte çalışan codecov ile github deposunun örneği