我有一些看起来像这样的代码:
var testLib = function(params) {
this.conf = new testLib.Config(params);
};
testLib.Config = function(params) {
//do stuff with params
};
实例化如下:
var ins = new testLib({});
我想测试tesLib构造函数使用jasmine正确地使用正确的参数实例化Config。我正在尝试这个:
spyOn(window,'testLib.Config');
var test = new testLib('testparam');
expect(testLib.Config).toHaveBeenCalledWith('testparam');
但这不起作用。我得到一个错误,说testLib.Config方法不存在。它肯定存在,因为我包括我的整个库,所以它可用于茉莉。
我该怎么测试呢?
答案 0 :(得分:0)
spyOn
方法的第二个参数应该是引用function/method
的属性名称。
试试spyOn(testLib, 'Config')
。它应该工作。
此外,javascript是案例敏感。属性Config
是大写C.检查spyOn
方法的第二个参数。