【发布时间】:2017-09-30 19:44:44
【问题描述】:
我正在尝试为打字稿设置业力测试。
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();
});
我遇到的问题是 karma 无法理解 webpack 中的expose-loader 给出的错误:
错误 [业力]:错误:无法解析模块 [expose-loader?jQuery!jquery]
有人可以解释一下吗? 如果我手动放置 jquery,如果没有暴露加载器,一切都可以正常工作,但我只想正确地完成它。
谢谢!
【问题讨论】:
标签: javascript jquery typescript webpack karma-jasmine