我是Jasmine和RequireJS的完整菜鸟,所以感谢任何帮助。
我们有以下目录结构
/assets
/libs <- populated by Jam
/scripts
/tests
我正在尝试设置Jasmine + Grunt + RequireJS来运行我的测试但是我一直收到以下错误,当我运行我的grunt任务时 grunt jasmine 我已经在RequireJS网站上查看了错误但在我看来,一切都已到位。
Error: scripterror: Illegal path or script error: ['scripts/MyModule']
这是我的 gruntfile.js
中的Jasmine设置jasmine: {
src: 'assets/scripts/**/*.js',
options: {
specs: 'tests/*spec.js',
template: require('grunt-template-jasmine-requirejs'),
templateOptions: {
requireConfig: {
baseUrl: '/assets',
paths: {
'jquery': 'libs/jquery/dist/jquery'
}
}
}
}
这是一个死的简单测试 spec :)
require(['scripts/MyModule'], function (myModule) {
'use strict';
describe('A suite', function() {
it('should pass this test', function() {
expect(myModule).not.toBe(null);
});
});
});
RequireJS在我的项目中运行正常,这是我为此运行的设置......
<script>
var require =
{
baseUrl: '/assets'
};
</script>
<script src="/assets/libs/require.js"></script>
我哪里出错了,我该怎么做才能解决它?
答案 0 :(得分:10)
我运行得很好,不得不在我的 Gruntfile.js 中的Jasmine配置中进行以下更改
baseUrl: './assets/'
需要步骤一个目录。
答案 1 :(得分:2)
当您指定Grunt Jasmine使用/assets
作为基本路径时,它将查找您的绝对/assets
路径,这意味着您将咕噜咕噜地查看文件系统根路径