我在 Angular 中使用 ngMock 进行单元测试。我现在有一个 browserify \w Angular 设置。我有一些奇怪的行为。require('angular-mocks');
当我只是用我的测试和应用程序加载角度模拟时 。但是,如果我随后将它作为依赖项加载到我的 Angular 应用程序模块中,它将不再加载我的 Angular 应用程序,但我的业力测试仍然有效:
(function () {
'use strict';
require('angular');
require('angular-route');
require('angular-mocks');
require('./home');
angular.module('greenboxUi', [
'ngRoute',
//'ngMock',
'greenboxUi.home'
]);
}());
如果我取消注释 ngMock,我的应用程序将不再加载
我的浏览器化垫片:
'angular-mocks': {
path: './app/bower_components/angular-mocks/angular-mocks.js',
exports: 'angular.mock',
depends: {
angular: 'angular'
}
}
我的测试:
beforeEach(function(){
module('greenboxUi.home');
inject(function($controller){
controller = $controller('HomeCtrl');
});
});
it('test test', function() {
expect(controller.hello).toBe('Hello world');
});
我的应用程序在仅将“ngMock”注释掉时确实可以工作,但我只是觉得有点奇怪,因为 Angular 文档确实使用angular.module('app', ['ngMock'])
.. 加载它。是因为 browserify 以某种方式包装了模块吗?
亲切的问候,尼尔斯