以 karma start karma.conf.js 为 extjs应用程序单元测试使用mocha 运行命令时,它会抛出上述错误。 我的代码看起来像这样: 我已将路径变量设置为:
**var paths** = {
'Demo': 'packages/demo/src',
'NewR3': 'extjs/r3/app',
'BasicFiles' : 'packages',
'Portal': 'extjs/portal/app',
'Ext.ux': 'frameworks/extjs/src/ux'
};
Ext.Loader.setConfig({
enabled: true,
paths: paths,
disableCaching: true
});
Ext.require([
'Ext.ux.grid.*',
'Ext.ux.data.*',
'Ext.ux.toolbar.Paging',
'Ext.ux.form.MultiSelect',
'Ext.ux.IFrame'
]);
Ext.require([
'BasicFiles.deft.deft-debug',
'BasicFiles.PM.PM-debug',
'Portal.util.PortalDataProvider',
'Portal.util.PortalUtil',
]);
WARN [web-server]:404:/base/extjs/portal/app/util/Startup.js?_dc=1483346775630 WARN [web-server]:404:/base/extjs/portal/app/util/ResourceLoader.js?_dc=1483346775630 WARN [web-server]:404:/base/extjs/portal/app/view/Viewport.js?_dc=1483346775630 运行上述命令后出现的警告:
答案 0 :(得分:2)
当您以 karma start karma.conf.js 运行命令时,服务器将从项目的基本路径中获取karma.conf.js中包含的所有文件。
当您还需要Ext.Loader中的文件时,由于服务器从基本路径加载,因此无法加载路径,并且路径与Ext.Loader冲突。
包含要在karma.conf.js中加载的所有文件,而不是从Ext.require中包含它,服务器将加载状态为200的所有文件,没有任何冲突。
karma.conf.js文件
module.exports = function(config) {
config.set({
frameworks: ['mocha', 'chai'],
plugins: [
'karma-mocha',
'karma-chai',
'karma-coverage',
'karma-chrome-launcher',
'karma-html-reporter',
],
files: [
// **All files here**
],
reporters: ["dots", "progress", "coverage", "html"],
port: 9876,
coverageReporter: {
type: 'html',
dir: 'coverage/'
},
preprocessors: {
//coverage files here
},
htmlReporter: {
outputDir: 'karma_dir'
},
colors: true,
proxies: {
"data/": "http://localhost:9876/base/data"
},
logLevel: config.LOG_DEBUG,
autoWatch: false,
browsers: ["Chrome"],
singleRun: true
});