Javascript 测试构造函数会实例化另一个类
我有一些代码看起来是这样的:Javascript 测试构造函数会实例化另一个类,javascript,unit-testing,jasmine,Javascript,Unit Testing,Jasmine,我有一些代码看起来是这样的: var testLib = function(params) { this.conf = new testLib.Config(params); }; testLib.Config = function(params) { //do stuff with params }; 实例化如下: var ins = new testLib({}); 我想测试tesLib构造函数是否使用jasmine正确地实例化了具有正确参数的配置。我正在尝试这个:
var testLib = function(params) {
this.conf = new testLib.Config(params);
};
testLib.Config = function(params) {
//do stuff with params
};
实例化如下:
var ins = new testLib({});
我想测试tesLib构造函数是否使用jasmine正确地实例化了具有正确参数的配置。我正在尝试这个:
spyOn(window,'testLib.Config');
var test = new testLib('testparam');
expect(testLib.Config).toHaveBeenCalledWith('testparam');
但这不起作用。我得到一个错误,说testLib.Config方法不存在。它确实存在,因为我包括了我的整个图书馆,所以它对jasmine是可用的
如何测试这个?spyOn方法的第二个参数应该是引用
函数/方法的属性名
试试spyOn(testLib,'Config')
。它应该会起作用
另外,javascript是区分大小写的。属性Config
为大写C。请检查spyOn
方法的第二个参数