ビルドしたモジュールをユニットテストしたい。Node.js他の関数を呼び出す関数をユニットテストする方法
function MyModule(...) {
var self = this;
MyModule.init.call(self, ...);
}
util.inherits(MyModule, MySuperModule);
MyModule.init = function(...) {
...
};
MyModule.prototype.logic = function(..., done) {
calls fnA, fnB, fnC, fnD conditionally
done(...)
};
MyModule.prototype.fnA = function(...) {
...
};
MyModule.prototype.fnB = function(...) {
...
};
MyModule.prototype.fnC = function(...) {
...
};
MyModule.prototype.fnD = function(...) {
...
};
MySuperModule:
function MySuperModule(...) {
...
}
MySuperModule.prototype,fn = function(..., done) {
var self = this;
...
self.logic(..., function done(...) {
...
done(...)
});
}
今MyModule.logic()ユーザーが明示的に呼び出されることはありません、それが唯一である MyModuleというの...それはかなりどのように見えるかの印象を与えるために MySuperModule.fn()が呼び出されました。 同じことは、委任チェーンを介して渡される特定のパラメータに基づいて条件付きで呼び出される他のすべてのMyModule関数にも適用されます。
私の質問は以下の通りです:
- 私は別に、すべてのMyModuleという機能をテストしたり、単にMySuperModule.fnを(テストする必要があります)すべての可能なシナリオ
- をカバーする異なるパラメータで、私は機能をテストする必要があります知っていますMyDuperModule.fn()でdone()コールバックが実行されているため、MySuperModule.fn()を使用してどうすればよいでしょうか? MySuperModule.fn()の引数に指定された引数に依存して、MyModule.logic()done()コールバックが呼び出されたことに依存する引数で呼び出されます。