3

我有一个工作业力设置,它在控制台中显示我的茉莉花测试的测试结果。如果我启动 Jasmine SpecRunner.html 我会收到错误“模块未定义”因此我在 SpecRunner-Header 中添加了 angular-mock:

<script type="text/javascript" src='src/public/js/libs/angular/angular-mock.js'></script>

这是我的 karma.config:

config.set({
basePath: '../..',
frameworks: ['jasmine'],
files: [
  'host/test_app/lib/jasmine-2.0.0/jasmine.js',
  'host/test_app/src/public/js/libs/angular/angular.min.js',
  'host/test_app/src/public/js/libs/angular/angular-mock.js',
  'host/test_app/spec/*.js',
  'host/test_app/src/public/js/controller/*.js'
],
exclude: [    ],
preprocessors: {  },
reporters: ['progress'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Chrome', 'Firefox'],
singleRun: false
});

有没有办法让 karma 用 jasmines specrunner 显示测试?

4

1 回答 1

0

在调试时尝试使用未缩小的 angular.js 而不是 angular.min.js 会给你一个更有意义的错误。它以前对我有用。

除此之外,如果你的模块是异步注入的,你应该将你的 angularjs 移到顶部,因为 karma 在将它们注入到 karma 配置文件时就像队列一样工作。如果我错了,请纠正我。

于 2015-08-20T15:00:56.350 回答