2017-08-04 5 views
0

私は単体テストに慣れています。私はloaderIs変数にスパイ機能を使用しようとしていますIF条件の角度2ユニットテスト

hide() { 
     this.count --; 
     if (this.count === 0) { 
      this.loaderIs = false; 
     } 
    } 

:私は、ユニットテストに以下のコードの場合の条件をしようとしています。

it('hide function check',() => { 
     expect(loaderService.hide).toBeDefined(); 
     spyOn(loaderService, 'loaderIs'); 
     loaderService.hide(); 
     expect(loaderService.loaderIs).toHaveBeenCalled(); 
    }); 

すべての入力とガイドは高く評価されています。

答えて

0

あなたがテストしているユニットを嘲笑してはいけないということです。 (あなたの場合はhideメソッドです)。 hideメソッドの呼び出しは、実際のメソッドを呼び出す必要があります。以下のコードをご覧ください

describe('Some test: ',() => { 
    beforeEach(() => { 
     loaderService.loaderIs = false; 
     // ... 
    }); 

    it('loaderIs should be falsy',() => { 
     loaderService.count = 1 
     loaderService.hide(); 
     expect(loaderService.loaderIs).toBeFalsy(); 
    }); 

    it('loaderIs should be truthy',() => { 
     loaderService.count = 2 
     loaderService.hide(); 
     expect(loaderService.loaderIs).toBeTruthy(); 
    }); 
});