音の鳴るブログ

鳴らないこともある

chaiのインターフェース

chai にはこういうインターフェースがあるけど

expect(true).to.be.true;

こういうアサーションは使わずに、普通に equal とかで書いたほうが良いと思う。

expect(true).to.equal(true);

プロパティ止まりのアサーションだと、こういうのがどちらも通ってしまう。

expect("Mr.Big").to.be.with.you;    // あってそう
expect("Skid Row").to.be.with.you;  // カバー??

最後の you というプロパティは存在しないので、単に undefined が返るだけの無意味な式になっているのだけど、アサーションが失敗するわけじゃないので問題ないみたいになる。最初に書くテストは失敗するというのを徹底すれば良いかもしれないけど、それで発見するのはテストの書き方のテストという感じであまり意味が無い。

あと、jshint だと expr で怒られて面倒だというのもある。


Mr. Big - To Be With You - YouTube


Skid Row - I Remember You - YouTube