取决于使用Karma的目录布局测试做或不适合我。为什么会这样,第二种情况下的问题是什么?如何解决?
此目录布局有效:
modules/
editor/
filters/
color.filter.js
pixel.filter.js
filters.spec.js
这个没有,
modules/
editor/
filters/
color.filter.js
pixel.filter.js
tests/
editor/
filters/
filters.spec.js
但会导致以下命令
$ karma start config/karma.js
抛出此错误消息:
TypeError: module is not a function in .../tests/editor/filters/filters.spec.js (line 7)
filters.spec.js
的第7行读取以下内容:
beforeEach(module('MyApp'));
This answer表示找不到angular-mocks.js
的问题,因此这是config/karma.js
的一部分:
module.exports = function(config) {
config.set({
// [...]
// list of files / patterns to load in the browser
files: [
'bower_components/jquery/dist/jquery.min.js',
'bower_components/bootstrap/dist/js/bootstrap.min.js',
'bower_components/angular/angular.min.js',
'bower_components/angular-mocks/angular-mocks.js',
'bower_components/angular-ui-router/release/angular-ui-router.min.js',
'modules/**/*.js',
'tests/**/*.js'
],
// [...]
如果需要更多信息,请在评论中告诉我。