我正在尝试对Angular指令运行一个非常基本的测试,但似乎无法让它运行。我的代码如下。我从jshint看到的错误是:'inject' is not defined
,我失败的测试错误是:TypeError: object is not a function
。
'use strict';
describe('playerInfo directive', function() {
var $compile;
var $rootScope;
beforeEach(module('gameApp'));
beforeEach(inject(function(_$compile_, _$rootScope_) {
$compile = _$compile_;
$rootScope = _$rootScope_;
}));
it('should replace the element with the appropriate content', function() {
var element = $compile('<dm-player-info></dm-player-info>')($rootScope);
$rootScope.$digest();
expect(element.html()).toContain('Member Since:');
});
});
一旦点击module
,测试就会失败并显示上述错误消息。很明显,测试没有提到angular-mocks
被包括在内。但是,我已经在我的index.html
中引用了它,并且使用ngMock
作为应用依赖项进行了测试(这会导致整个应用程序崩溃,但仍然没有运行测试)并且没有。
更新:我目前正在使用jasmine-node进行测试。这可能是问题,需要添加茉莉。
答案 0 :(得分:0)
我刚刚遇到过这个问题,这就是我的一天(实际上是最终结果)。只需添加module('ng')
和module('yourAppModule')
即可。我把它们放在每个块之前。它应该工作。