4

だから私は $scope とコントローラーを $controller コンストラクターでモックするという概念に精通しています

var scope = rootScope.$new();
it('should contain a testVar value at "test var home"', function(){
    homeCtrl = $controller('homeCtrl', {
        $scope: homeScope,
        $rootScope: rootScope
    })

    expect(homeScope.testVar).toBe('test var home');
})

同じ方法でディレクティブをモックする方法はありますか? ディレクティブとそのコントローラーの両方?

//mock coding
var scope = rootScope.$new();
it('should contain a testVar value at "test var home"', function(){
    homeDir = $directive('homeCtrl', {
        $scope: homeScope,
        $elem: angular.element('<div....</div>'),
        $att: {}
        $modelViewController: angular.element().controller('ngModel')
    })
            homeCtrl = homeDir.$getController();
    expect(homeScope.testVar).toBe('test var home');
})

ディレクティブを対象とする質問、それらをテストする方法は? それらのコンポーネントを抽出する方法は?ディレクティブに関数があるかどうかを知っていることから、それをスコープにアタッチする必要があります。それ以外の場合、それがディレクティブに属している場合、関数はテストできません。テスト中にスコープを使用したい場合は、スコープを変数に挿入する方法を教えてください。

4

1 に答える 1