我想使用grunt自动运行jasmine测试。我以前从未这样做过,而且我经常遇到我不明白的错误......
我想使用grunt-contrib-jasmine
和grunt-template-jasmine-requirejs
。
我把它添加到我的grunt文件中:
jasmine: {
jasmine_tests: {
src: 'public/js/app/**/*.js',
options: {
specs: 'spec/*Spec.js',
helpers: 'spec/*Helper.js',
template: require('grunt-template-jasmine-requirejs'),
templateOptions: {
requireConfig: {
baseUrl: '',
paths: {
"i18n": "../libs/require-i18next/require-i18next/i18next",
"i18next-builder": "../libs/require-i18next/require-i18next/i18next-builder",
"jquery": "../libs/jquery/dist/jquery",
...
},
shim: {
"jquerymobile": ["jquery"],
....
}
}
}
}
}
},
当我运行grunt jasmine
时,我收到数百个错误。似乎没有一个文件可以加载。
运行“jasmine:jasmine_tests”(茉莉花)任务
通过PhantomJS测试茉莉花规格
错误:scripterror:非法路径或脚本错误:['jquery'] at .......... \ C:\用户\ Garrarufa \文件\ WebstormWorkspace \ website3_SpecRunner.html:38 .......... \ C:\ Users \ Garrarufa \ Documents \ WebstormWorkspace \ website3.grunt \ grunt-contrib-jasmine \ require.js:12 v .......... \ C:\用户\ Garrarufa \文件\ WebstormWorkspace \ website3.grunt \咕噜-的contrib-茉莉\ require.js:30 错误:scripterror:非法路径或脚本错误:['下划线'] at .......... \ C:\用户\ Garrarufa \文件\ WebstormWorkspace \ website3_SpecRunner.html:38 .......... \ C:\ Users \ Garrarufa \ Documents \ WebstormWorkspace \ website3.grunt \ grunt-contrib-jasmine \ require.js:12 v .......... \ C:\ Users \ Garrarufa \ Documents \ WebstormWorkspace \ website3.grunt \ grunt-contrib-jasmine \ require.js:30
...
错误:超时:模块的加载超时:i18n!locales_unnormalized2,datatables,sortDate ...
...
http://requirejs.org/docs/errors.html#timeout at .......... \ C:\用户\ Garrarufa \文件\ WebstormWorkspace \ website3_SpecRunner.html:38 .......... \ C:\ Users \ Garrarufa \ Documents \ WebstormWorkspace \ website3.grunt \ grunt-contrib-jasmine \ require.js:12 v .......... \ C:\ Users \ Garrarufa \ Documents \ WebstormWorkspace \ website3.grunt \ grunt-contrib-jasmine \ require.js:14 C .......... \ C:\ Users \ Garrarufa \ Documents \ WebstormWorkspace \ website3.grunt \ grunt-contrib-jasmine \ require.js:14
警告:PhantomJS超时,可能是由于未完成的异步规范。使用--force继续。
因警告而中止。
我的规范在文件夹.../website3/specs
中,我要测试的requirejs模块定义位于文件夹.../webiste3/public/js/app/**
中。
出了什么问题,我需要改变什么?
我真的不明白我要在gruntfile和requireConfig中定义什么。也许这与它有关?
我的目录结构:
- website3
- .grunt
+ grunt-contrib-jasmine
+ node_modules
- public
- js
- app
+ collections
- config
> config.js
+ ...
- views
+ ...
> AddVehicleView.js
> ...
+ libs
> index.html
+ server
- spec
+ helpers
- support
> jasmine.json
> AddVehicleViewSpec.js
> .bowerrc
> ...
> _SpecRunner.html
> Gruntfile.js
> package.json