2

モック依存関係を注入することにより、Mocha を使用していくつかの角度のある js サービスを単体テストしようとしています。私はこれについて多くのことを読みました.angular-mocksのマスターブランチを使用するとmochaでうまく動作するはずであるという提案があります. ただし、これを試すと、次の JavaScript エラーが発生し、「注入」および「モジュール」関数が定義されていません。

ReferenceError: beforeEach is not defined

angular.injector も使用してみましたが、これによりある程度の成功が得られましたが、サービスが依存しているサービス (この場合は $http) をモックすることはできません。私のサービス:

var app = angular.module('app', ['ui.bootstrap'], function($provide){
    $provide.factory('myService', ['$http', function($http){
        return { 
            doSomething: function(batch){
                ...
            }
        };
    }]);
});

解決:

$injector = angular.injector(['ng', 'app']);
var subject = $injector.get('myService');

ジャスミンを使わずにこれは可能ですか?

4

1 に答える 1

0

すべての AngularJS バージョン < 1.2.0 に同梱されている angular-mocks は、mocha と互換性がありません。代わりに angular-mocks の bower バージョンを使用してください: https://github.com/angular/bower-angular-mocks

于 2013-11-09T10:06:24.217 に答える