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
で怒られて面倒だというのもある。