JavaScript ファイルに自己呼び出し関数があります。このようなもの:
com.renderer = (function(){
render(data){
}
.....other functions
return{
init : function(){
$(document).ready(function(){
jsonData = fetchFromServer();
render(jsonData);
});
}
}
})().init();
これを単体テストする方法を考えています。私はJSUnitTestDriverを使用しています。レンダー関数に外部から何らかの形でインジェクトできればそれでjsonData
いいのですが、私には無理そうです。
提案や代替案はありますか?
関数の自己呼び出しの性質を削除したくありません。そして、単体テストのために、私が良いと考える設計を変更することは本当に理にかなっていますか? (この特定のケースでは、一般的ではありません。)
注: テストの実行中はサーバーと通信できません。