测试一个构造函数实例化另一个类
问题描述:
我有一些代码,看起来像这样:测试一个构造函数实例化另一个类
var testLib = function(params) {
this.conf = new testLib.Config(params);
};
testLib.Config = function(params) {
//do stuff with params
};
实例化,像这样:
var ins = new testLib({});
我想测试的tesLib构造正确实例化的配置与用茉莉花纠正争论。我试试这个:
spyOn(window,'testLib.Config');
var test = new testLib('testparam');
expect(testLib.Config).toHaveBeenCalledWith('testparam');
但是这不起作用。我收到一个错误,说testLib.Config方法不存在。它确实存在,因为我包括我的整个图书馆,所以它可用于茉莉花。
我该如何测试?
答
的spyOn
方法的第二个参数应该是引用function/method
属性名称。
尝试spyOn(testLib, 'Config')
。它应该工作。
此外,JavaScript是情况下灵敏。属性Config
为大写C.检查spyOn
方法的第二个参数。