用于交互测试的习语

时间:2014-11-26 14:28:56

标签: javascript testing

我有一个对象必须在其自身内部创建一个对象的实例,以避免将状态泄漏到Factory上的函数的其他调用,其中只有一个实例。

function Factory() {
}

Factory.prototype.create = function() {
   var builder = new Builder(); //must be newed up
   //...
}

但是,这使我无法对FactoryBuilder的交互做出断言,因为我无法注入模拟构建器。

在JavaScript中,绕过这个问题并启用交互测试的惯用方法是什么。这是一种有效的方法吗?

Factory.prototype.create = function(builder) {
   var builder = builder || new Builder(); //must be newed up 
   //...
}

1 个答案:

答案 0 :(得分:0)

我通过注入一个返回构建器的函数来解决这个问题。该功能可以简单地存根。