0

refresh()構築中に独自のメソッドを呼び出す AngularJs コントローラーがあります。問題のメソッドは、単体テスト中に存在しないいくつかのテンプレート要素にアクセスします。

function ListController($scope) {
    /// ...

    $scope.refresh = function() {
        var tabId = angular.element('#id li.active a').attr('href');
        //etc
    }

    //Initialise
    $scope.refresh();
}

refresh メソッドを使用すると、コントローラーの構築中に単体テストが失敗します。それが行う作業はテストとは無関係であるため、メソッドをスタブでオーバーライドして、メソッドが呼び出されたことを単純にテストしたいと思います。

Jasmine の Spy 機能は進むべき道のように見えますが、オブジェクトを構築する前にそれを設定する方法が見つかりません。どうすればいいですか?

4

1 に答える 1