我有一个简单的测试,它必须使用业力和需求在网络风暴中工作。
问题是,出于某种原因,对于我为测试加载的模块,要求不添加".js“。所以它试着装载“./ts/妈妈/妈妈”,而“./ts/妈妈/妈妈”却存在。
测试(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/妈妈/妈妈”改为“./ts/妈妈/妈妈”时,每件事都是正确的。
sourceMappingURL在这里是因为javaScript文件是从typeScript源文件生成的,因此我不能手动为模块添加".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
});为什么这里的需求不为模块添加".js“?
Karma 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
});
};发布于 2014-10-31 17:02:08
它看起来像require.js中的麻烦
问题在于: 1.在deps中出现绝对路径时
这里的其他解决方案--替换bathUrl并将其添加到requirejs -没有帮助。
对我来说,解决方案是下一个:
var tests = Object.keys(window.__karma__.files).filter(function (file) {
return (/\-jasmine\.js$/).test(file);
}).map(function (file) {
return file.replace(/^\/|\.js$/g, '');
});和
baseUrl: '',对于requirejs.conf
我也不知道为什么对所有请求的url仍然添加"/base“,但现在一切正常。
发布于 2014-10-30 21:55:43
这里有一个关于RequireJs如何处理这个问题的有趣的阅读:
http://requirejs.org/docs/api.html#jsfiles
读这篇文章让它看起来像是RequireJS的一个问题,但是对于这是否是真的,似乎有一些争论。无论如何,这个要旨似乎解决了这个问题。
var tests = Object.keys(window.__karma__.files).filter(function (file) {
return /\.spec\.js$/.test(file);
}).map(function(file){
return file.replace(/^\/base\/src\/js\/|\.js$/g,'');
});
require.config({
baseUrl: '/base/src/js'
});
require(tests, function(){
window.__karma__.start();
});https://stackoverflow.com/questions/26656102
复制相似问题