我正在尝试在 Karma 中为基于 AngularJS 的 Web 应用程序创建我的第一个单元测试。我使用 Jasmine 作为测试框架。
我的单元测试看起来像:
describe('FooBar', function() {
describe('FBCtrl', function() {
var scope, ctrl;
beforeEach(function() {
scope = {};
ctrl = new FBCtrl(scope);
});
it('should have correct gender values', function() {
expect(scope.values[0].values).toBe(["M", "F"]);
});
});
});
现在,当我运行测试时,我收到以下形式的错误:
Chrome 26.0 (Linux) FooBar FBCtrl should have correct gender values FAILED
Expected [ 'M', 'F' ] to be [ 'M', 'F' ].
Error: Expected [ 'M', 'F' ] to be [ 'M', 'F' ].
at null.<anonymous> //followed by the js file given has input to Karma
这种期望的 LHS 是在控制器范围内定义的变量。可以看出,该值已被拾取并且比较似乎也是正确的 - 但 Karma 将其报告为失败/错误。
知道为什么吗?