Mochaで--delayフラグを使って初期化完了までテストを実行しないようにする
--delayフラグ?
http://mochajs.org/#delayed-root-suite
で知りました。
setTimeout(function() { // do some setup describe('my suite', function() { // ... }); run(); }, 5000);
のように書いて、mocha --delay test
と実行すると、run()
が呼ばれるまでテストの部分までは行かないと。
ちなみにrun()
はmochaが勝手にグローバルスコープに追加してくれる関数だそう。
使用例
DBに接続するまでテストを実行しないようにすることができたりとか?
例えば、
↓のようなbootstrap.js というファイルを作り
DB.connect((err, db) => { run(); });
mocha --delay -require bootstrap.js test
と実行するとか。
これで、connect()の処理が終わるまでテストが動かないようにできるはず。
本当のところ
きちんとコードを書いていれば恐らくこの書き方は必要ないんじゃと思いますw
でも、某古めなプロジェクトで困ったコードがあり、これは使えるんじゃ?と思ったので記事にしました。
本日はこんなところで。