我正在尝试使用Karma / Jasmine进行非常简单的测试,以便对我的AngularJS应用进行单元测试。这似乎有效
beforeEach(
module('myApp')
);
it('should blah', function () {
expect(true).toBe(true);
});
虽然这不是
beforeEach(
function () {
module('myApp')
}
);
it('should blah', function () {
expect(true).toBe(true);
});
我希望能够在每个测试套件之前做其他事情,但它没有给我任何有意义的错误来调试它,我看到的唯一一个是
TypeError: 'undefined' is not an object (evaluating 'currentSpec.queue.running')
涉及在第二个示例中在beforeEach构造中调用函数的行。
我希望其他人遇到这个并且可以提供帮助吗?
由于 斯蒂芬
答案 0 :(得分:5)
这就是你如何宣布你的模块。如果你想做更多,你可以使用额外的beforeEach。
例如:
var scope;
var ctrl;
var mysvcMock;
beforeEach(module('myApp'));
beforeEach(function() {
mysvcMock = {
};
});
beforeEach(inject(function($rootScope, $controller) {
scope = $rootScope.$new();
ctrl = $controller('MyController', {
$scope: scope,
mysvc: mysvcMock
});
}));
//it checks
如果你需要更清楚一点,请告诉我,我可以为你拼凑一个小提琴。
谢谢,
约旦