5

私は現在AngularJSを学んでおり、その一部はテストの作成をカバーしています。現時点では、失敗したテストに対してより有用なエラー メッセージを作成する方法を考え出そうとしています。たとえば、私が Java ランドで JUnit テストを書いている場合、次のようなことをします。

assertTrue( "The foo value should be true at this point", bar.isFoo() );

そうすれば、チェックが失敗した場合にログの最初のパラメーターを取得できます。

モカのブールチェック(違いが生じる場合に備えてチャイとシノンを使用)の場合...

expect(broadcastSpy.calledWith('order.add')).to.be.true;

それが失敗した場合、次のようになります。

expected false to be true
AssertionError: expected false to be true

アプリのテスト中に、役立つ失敗メッセージを再現する方法はありますか?

4

2 に答える 2

11

これについては、別の質問への回答で言及しました。Chaiのコードをチェックして、その回答を書いてから何も変わっていないことを確認しましたが、次のことがまだ真実であることがわかりました。コード:

expect(foo).to.be.true;

はgettertrueを介して値を取得するプロパティであるため、カスタム メッセージを受け入れません。ただし、これを行うことができます。

expect(foo).to.equal(true, "foo should be true");

アサーションが失敗した場合にカスタム メッセージを取得します。

Chai のアサート インターフェイスは、すべてのアサーションでメッセージをサポートします。たとえば、次のようになります。

assert.isTrue(foo, "foo should be true");
于 2014-05-20T14:51:00.637 に答える