javascript - 如何讓 karma-coverage 在 Aurelia 和 typescript 中運作?
我們的網站是基於 Aurelia navigation skeleton-typescript 起始套件運行的。我能夠讓單元測試在 jasmine 和 karma 上運行,但我無法讓 karma-coverage 正常運作。有辦法讓它運作嗎?
我正在嘗試在 skeleton-typescript 專案中使用以下 karma.conf.js 檔案讓它運作。
module.exports = function(config) {
config.set({
basePath: './',
frameworks: ['systemjs', 'jasmine'],
systemjs: {
configFile: 'config.js',
config: {
paths: {
"*": "*",
"src/*": "src/*",
"typescript": "node_modules/typescript/lib/typescript.js",
"systemjs": "node_modules/systemjs/dist/system.js",
'system-polyfills': 'node_modules/systemjs/dist/system-polyfills.js',
'es6-module-loader': 'node_modules/es6-module-loader/dist/es6-module-loader.js'
},
packages: {
'test/unit': {
defaultExtension: 'ts'
},
'src': {
defaultExtension: 'ts'
}
},
transpiler: 'typescript',
typescriptOptions : {
"module": "amd",
"emitDecoratorMetadata": true,
"experimentalDecorators": true
}
},
serveFiles: [
'src/**/*.*',
'jspm_packages/**/*.js'
]
},
files: [
'test/unit/setup.ts',
'test/unit/*.ts'
],
exclude: [],
preprocessors: { 'src/**/*.ts': ['coverage']},
reporters: ['progress', 'coverage'],
coverageReporter: {
type : 'html',
dir : 'coverage/'
},
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Chrome'],
singleRun: false
});
};
答案#1
我建議使用命令列介面並使用 au new。這個範本自去年以來已經更新,並提供選項。你可以預設設置 Karma。