示例代码:
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连接?
在这种情况下,我该如何编写测试代码?
答案 0 :(得分:0)
在实例化createConnection
之前,尝试在测试中重新定义TestClass
。
TestClass.prototype.createConnection = function() {
console.log("Called redefined createConnection");
}
答案 1 :(得分:0)
您应该模拟依赖项,使您不想测试的请求不是您的类。看看这个nock,一个HTTP模拟和期望库