2017-04-18 9 views
0

私は、AngularのAPIをテストするために勉強しようとしています。Assistance clearing up Angular 2コンポーネントテストチュートリアル

https://angular.io/docs/ts/latest/guide/testing.html#!#atu-apis

次のコードはどのように動作するかの私の理解では、私がテストを実行している間、私は見ています何に沿ったものではない:私は現在、次のチュートリアルを読んでいます。私がコードを理解しているので、2番目のメソッドは要素の内容を 'Test Title'にリセットし、toContainメソッドで等しいかどうかを確認することです。

it('should display original title',() => { 
    fixture.detectChanges(); 
    expect(el.textContent).toContain(comp.title); 
}); 

it('should display a different test title',() => { 
    comp.title = 'Test Title'; 
    fixture.detectChanges(); 
    expect(el.textContent).toContain('Test Title'); 
}); 

しかし、私はコードを使って遊び、toContain( 'Test Title')から次のように変更します。 to( 'Test')を含む場合、テストは引き続き実行されます。これは、実際の例で見ることができます。

https://angular.io/resources/live-examples/testing/ts/banner-inline-specs.eplnkr.html

enter image description here

私は私自身のテストで同じ結果を得ます。私はテストが失敗するはずだと思っていますが、それはしません。

ありがとうございました。

答えて

0

これは、Jasmine's Default Matcher'sに表示されているとおり、正しいものを使用していないためです。 .toContain.toEqualと変更してみてください:)

.toContainは、探しているものがどこかにあるかどうかを確認します。

+0

ありがとうございます。私はそれを感謝します。 – Aaron

+0

うれしいことがあります。 –