Angular での単体テストに ngMock を使用しています。これで、browserify \w Angular セットアップができました。私はいくつかの奇妙な行動をしています。require('angular-mocks');
テストとアプリの作業で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 のコメントを外すと、アプリが読み込まれなくなります
私のbrowserify-shim:
'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 docs でロードするため、少し奇妙にangular.module('app', ['ngMock'])
感じます.. browserify がモジュールを何らかの方法でラップするためですか?
よろしく、ニールス