我的应用程序中有以下结构:
Web (Asp net core)
|
|--wwwroot
|--ClientApp
| |--app
| | |-- ... (typescript modules, *.spec.js files etc.)
| |
| |--karma.config.js
| |--test-main.js
|
|--Controllers
|--config.json files for web etc.
在控制台中,我在运行时位于 ClientApp 文件夹中:
npm test
我收到以下错误:
File C:\Users\...\Web\karma.conf.js does not exist!
为什么它会尝试karma.conf.js
在 Web 文件夹中查找文件?
我怎么能告诉它看在正确的地方?即使我 CD 到应用程序文件夹,我也会得到完全相同的错误。
如果我尝试将 karma.conf.js 文件放在它期望的位置,我会收到一堆其他错误,例如:
cannot find module requirejs
我非常困惑,真的很感激一些帮助。
karma.conf.js 文件:
module.exports = function(config) {
config.set({
basePath: '',
frameworks: ['jasmine', 'requirejs'],
files: [
'test-main.js',
{pattern: 'test/**/*spec.js', included: false},
{pattern: '*.js', included: false}
],
exclude: [
],
preprocessors: {
},
reporters: ['progress'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Chrome', 'Firefox'],
singleRun: false,
concurrency: Infinity
})
}
测试main.js:
var allTestFiles = []
var TEST_REGEXP = /(spec|test)\.js$/i
Object.keys(window.__karma__.files).forEach(function (file) {
if (TEST_REGEXP.test(file)) {
var normalizedTestModule = file.replace(/^\/base\/|\.js$/g, '')
allTestFiles.push(normalizedTestModule)
}
})
require.config({
baseUrl: '/base',
deps: allTestFiles,
callback: window.__karma__.start
})
只需进入您的package.json
并编辑test
脚本以指向您的 karma 配置的位置。
"scripts": {
"test": "karma start ./path/to/karma.conf.js"
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句