アサーションライブラリ sholud.js は、JavaScript の Object
クラスを拡張して should
プロパティを加える。これにより、次のように英語として読める表記を実現している。
var foo = {name:'abc'};
foo.should.have.property('name', 'abc');
だがこれは foo が null
や undefined
の場合にうまく動作しない。
var foo = null;
foo.should.null();
⇒
TypeError: Cannot read property 'should' of null
同様に undefined
の場合では TypeError: Cannot read property 'should' of undefined
となる。
このようなケースを扱うには should を関数として使う。
var should = require('should');
var foo = null;
should(foo).null();
参考: should API Reference覚書
chai.should を使う方はこちら: mocha + chai.should で null や undefined をテストする