2016-08-03 4 views
0

$ window.print()が呼び出しているかどうかをチェックすることを目的としたテストケースが1つありますか?そのために

私が書かれた次のテストケースがあります:私はテストケース上記を実行すると、それはすべてのエラーなしで正常動作している、今

scope.printConfirmation = function() { 
    $window.print() 
} 

beforeEach(inject(function($window) { 

     Objwindow = $window; 
} 
it('Test for print', function() { 
    spyOn(Objwindow, 'print').and.callFake(function() { 
     console.log("Spy is called"); 
     return true; 
    }); 
    scope.printConfirmation(); 
    expect(Objwindow.print).toHaveBeenCalled(); 
}); 

コントローラ内に。 Spyonが呼び出されています。 しかし、すべてのモジュールのテストケースを実行すると(ほぼ1325個のテストケースがあります)、次のエラーが発生しています。

Expected spy print to have been called. 

この問題の原因はありますか?何か間違っているのですか?

答えて

0

あなたがする必要があります

var controller = $controller('Controller', { $window: Objwindow });

とテストケースのように、コントローラのインスタンスを取らなければならない内部のそれ

it('Test for print', function() { 
spyOn(Objwindow, 'print').and.callFake(function() { 
    console.log("Spy is called"); 
    return true; 
scope.printConfirmation(); 
expect(Objwindow.print).toHaveBeenCalled(); 
}); 
関連する問題