4

StackOverflow で、2 年前に Expresso、Vows、および Mocha が node.js の単体テストに適したオプションであることがわかりましたが、現在はどうでしょうか? 最近の質問は見つかりませんでした。

4

1 に答える 1

2

Mocha は最も人気のある単体テスト フレームワークですが、私はあまり好きではありません。なぜなら、エラー パラメーターは Error オブジェクトである必要があるからです。たとえば、エラーの配列を渡すことはできません。Tap と should.js もかなり良いです。

これらのフレームワークのすべての機能が必要ない場合は、組み込みassertモジュールを使用して独自のフレームワークを構築できます。依存関係がなく、肥大化したコードもなく、数行で簡単です。

var tests = {
    "description 1": function (done){
        testSomethingAsync (function (error){
            assert.ifError (error);

            //assert other things

            done ();
        });
    },
    "description 2": function (){
        var res = testSomethingSync ();
        //assert other things
    }
};

var keys = Object.keys (tests);
var keysLength = keys.length;

(function again (i){
    if (i<keysLength){
        var fn = tests[keys[i]];
        if (fn.length){
            fn (function (){
                again (i + 1);
            });
        }else{
            fn ();
            again (i + 1);
        }
    }
})(0);
于 2013-08-12T11:10:23.860 に答える