jsファイルのほとんどのコード構造が次のようになっている既存のノードプロジェクトで作業しています。外部モジュールを使用したJavaScriptユニットテスト
var mod1 = require("mod1");
var mod2 = require("mod2");
var modn = require("moden");
function func1(data, callback) {
// Do some validation with data etc..
// Use one or more imported modules here
}
function func2(data, callback) {
// Do some validation with data etc..
// Use one or more imported modules here
}
exports.func1 = func1
exports.func2 = func2
ユニットテストfunc1は、インポートされたモジュールに依存しないが、どのようにしてテストできますか?どのように私は嘲笑/それらをスタブすることができますか? 私はJavaの世界から来ているので、私は嘲笑の概念に精通していますが、ここではrequireを使ってどのようにグローバルに宣言されたモジュールのインポートを模倣できるのかよくわかりません。
現在、ユニットテストの目的でnodeunitを使用していますが、コードのごく一部をテストしています。
私はsimon.jsとtestdoubleについて読んでいますが、それらを使ってグローバル変数を模倣する方法はわかりません。
お手伝い、ご指摘ありがとうございます。テスト中の依存関係をオーバーライドするために
私はsuppです'func1'は' mod1'のように内部的にいくつかの機能を使います。 'func1'が必要なモジュールに依存する場合。実際の依存関係を使用する代わりに、なぜそれを模擬したいのですか? –
http://sinonjs.org/how-to/link-seams-commonjs/ –
https://github.com/testdouble/testdouble.js/blob/master/docs/7-replacing-dependencies.md#replacing- test-double-with-real-dependencies- –