我正试着为文字记录设置业力测试。
karma.conf.js
module.exports = function (config) {
config.set({
frameworks: ['jasmine', 'karma-typescript'],
files: [
{pattern: 'src/main/**/*.ts'}, // Actual code
{pattern: 'src/test/**/*.ts'}, // Unit tests
],
preprocessors: {
'src/main/**/*.ts': ['karma-typescript', 'coverage'],
'src/test/**/*.ts': ['karma-typescript']
},
reporters: ['progress', 'junit', 'coverage'],
// the default configuration
junitReporter: {
...
},
coverageReporter: {
type: 'lcov',
subdir: '.',
dir: 'target/'
},
browsers: ['PhantomJS'],
singleRun: true,
autoWatch: true,
logLevel: config.LOG_INFO,
colors: true,
port: 9876
});
};代码本身还没有任何内容,只有:
import "expose-loader?jQuery!jquery";
import "expose-loader?Tether!tether";
import "../scss/main.scss";
import "bootstrap";而测试:
it("should expose jquery to window", () => {
expect(window["jQuery"]).toBeDefined();
expect(window["$"]).toBeDefined();
});我遇到的问题是业力无法理解的错误-- webpack的装载机犯了一个错误:
错误业力:错误:无法解决模块公开-加载程序?jquery!jquery
有人能帮我解释一下这件事吗。如果没有公开加载程序,如果我手动地使用jquery,一切都会非常好,但我只想正确地完成它。
谢谢!
发布于 2017-05-05 03:23:32
问题是在“文件”中包含实际代码,而不是导入我将要测试的类。所以我做了
{pattern: 'src/main/**/!(file with expose-loader).ts', include:'false'}并排除负责公开全局对象的文件。
https://stackoverflow.com/questions/43752211
复制相似问题