我有一個簡單的測試,它必須在使用karma和requirejs的webstorm中工作。Requirejs不會爲使用karma的模塊添加「.js」
問題是,由於某些原因,requirejs不會爲我加載測試的模塊添加「.js」。因此墜毀試圖加載 「../ts/mamats/mama」,而 「../ts/mamats/mama.js」 存在
測試(main.jasmine.js):
define(["require", "exports", "../ts/mamats/mama"], function(require, exports, mama) {
describe("first test", function() {
it("should be true", function() {
var object = new mama.block();
expect(object instanceof mama.block).toBe(true);
});
});
});
//# sourceMappingURL=main.jasmine.js.map
當我用「../ts/mamats/mama.js」替換「../ts/mamats/mama」時,每件事都能正常工作
sourceMappingURL在這裏是因爲從typeScript源文件生成的javaScript文件,我無法爲模塊手動添加「.js」
測試從此入口點開始(main-test.js):
var tests = Object.keys(window.__karma__.files).filter(function (file) {
return (/\.jasmine\.js$/).test(file);
});
requirejs.config({
baseUrl: '/base',
deps: tests,
callback: window.__karma__.start
});
爲什麼requirejs不在模塊中添加「.js」?
噶的conf文件:
module.exports = function(config) {
config.set({
basePath: '../',
frameworks: ['jasmine', 'requirejs'],
files: [
'static-tests/main-test.js',
{ pattern: 'static/**/*', included: false },
{ pattern: 'static-tests/**/*', included: false }
],
exclude: [],
preprocessors: {},
reporters: ['progress'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: false,
browsers: ['Chrome'],
singleRun: false
});
};
看起來像解決方案在這裏:https://github.com/karma-runner/karma-requirejs/issues/3 明天會嘗試。 – user1338054 2014-10-30 16:49:35