2017-01-29 6 views
1

はこのようになりますButtonコンポーネントとアプリケーションに反応一致する値が存在しているにもかかわらず、失敗します。冗談/ジャスミン.toContainは()私はシンプルを書いて

it("contains the correct bootstrap classes",() => { 
    expect(mount(<Button modifiers={["flat"]}/>).html()).toContain("<span class=\"btn btn-flat btn-default\"></span>"); 
}); 

つまりコードが通過する必要があり、私は、次のエラーメッセージが表示されます

expect(string).toContain(value) 

Expected string: 
    "<span class=\"btn btn-flat btn-defualt\"></span>" 
To contain value: 
    "<span class=\"btn btn-flat btn-default\"></span>" 

    at Object.it (src\__tests__\Button.test.js:42:293) 

アンをなぜこれが通過していないyのアイデア?ドキュメントから

答えて

2

使用.toContainアイテムがリストにあることを確認したいです。 snapshots:あなたはtoBeまたはtoEqual

it("contains the correct bootstrap classes",() => { 
    expect(mount(<Button modifiers={["flat"]}/>).html()).toBe("<span class=\"btn btn-flat btn-default\"></span>"); 
}); 

を使用する必要があります。しかし、出力レンダリングされたコンポーネントをテストするためのより良い方法がある文字列をテストする

it("contains the correct bootstrap classes",() => { 
    expect(mount(<Button modifiers={["flat"]}/>).html()).toMatchSnapshot(); 
}); 

酵素を使用したスナップショット検査には、enzymeToJsonが必要です。

+0

ありがとうございました。私は '.toConquered'を' .toEqual'に置き換えましたが、文字列が一致していないと言いました。スナップショットテストは機能しますが、私はそれを使用しないことをお勧めします。文字列が同じ場合に '.toEqual'が動作しない理由は何ですか? – user2367593

+0

原因 'defualt'にタイプミスがあります;) –

+0

良いキャッチ!私はこれをもう少し長く見ていたと思います:) – user2367593

関連する問題