0

サンプルコード:

function TestClass() {
  var this.name = 'test';
  var this.host = '...';
  var this.port = '...';
  //...
  this.connection = this.createConnection(....);
}

TestClass.prototype.testFunc = function(data) {
  if(data == this.name) {
     return true;
  } else {
     return false;
  }
}

Testclass.prototype.createConnection = function (...) {
   //some code
  //a real HTTP connection will be created
  //some code
}

今、testFunc をテストしたいのですが、それにはクラス変数this.nameがあるので、TestClass インスタンスを作成する必要があります。しかし、TestClass インスタンスを作成すると、実際の HTTP 接続が作成されます。テスト時にこの実際の HTTP 接続を回避するにはどうすればよいですか?

このような状況で、テスト コードをどのように記述すればよいでしょうか。

4

2 に答える 2

0

createConnectionインスタンス化する前に、テストで単純に再定義してみてくださいTestClass

TestClass.prototype.createConnection = function() {
    console.log("Called redefined createConnection");
}
于 2013-04-25T05:51:41.560 に答える
0

テストしたいクラスではなく、リクエストを作成する依存関係をモックする必要があります。このnock、HTTP モッキングおよび期待ライブラリを見てください。

于 2013-04-26T07:26:43.647 に答える