私はモカとチャイに全く慣れていません。私はテストで2つのオブジェクトを比較するための関数を作成しました。モカチャイカスタム比較機能
function compareExtremelyCompexObject (testedObject, trueObject);
どのようにテストを主張するために私compareExtremelyCompexObject
機能を使用していますモカチャイ仕様を書くのですか?私はこのような何かを持っている
:
it('should create a specific complex object from boilerplate data', function(done) {
importDataFromSystem().
.end(function(err, res){
var dummyComplexObject = getBoilerplateComplexObject();
compareExtremelyCompexObject(res, dummyComplexObject);
done();
});
});
});
私は今、複雑なオブジェクトを比較する方法行方不明になるまで発見した例が。 "should"/"expect"で達成できますか?
これが十分明確でない場合は教えてください。私は本当にこの問題を数日間研究してきました。どんな助けにも深く感謝します!
"importDataFromSystemという名前の関数をテストする必要があります。これは、外部システムからデータをインポートして操作し、最終的にはDBに格納するというものです。"あなたはこの仕事をすべてやっている単純な関数を持ってはいけません。文字通りuntestableです。これを少なくとも3つの関数に分割する必要があります。1データをインポートし、データを操作してデータを格納するものに渡します。あなたは3つの関数のそれぞれを簡単にテストすることができます。あなたがしようとしているものは恐らく実行可能ですが、はるかに多くの作業が必要です。 – rule
@rule私は各タスク(インポート、操作、保存)それでも私はプロセス全体(「ディレクター」)をテストする必要があります。私はしない? – Alon
マクロレベルで何か問題が起きる可能性があるので、1つのテストですべてのことを行う1つの関数を文字通りテストしようと考えていました。まあ、あなたは完全なプロセスをテストすることができますが、私はどれくらい難しいか分かりません。本当にそれに関連する有用な情報はありません。 – rule