如果我在打字稿文件(DateTimeConverter.ts
)中定义了一个类:
export class DateTimeConverter{
constructor(){
}
//Other methods
}
然后我想导入这个类来在Jasmine中进行一些单元测试,所以在我的规范中我导入它:
var DateTimeConverter = require('../path/to/DateTimeConverter');
为什么我不能在单元测试中使用该类:
var timeConverter = new DateTimeConverter();
当我运行我的测试时,Jasmine给出了一个错误:
TypeError:DateTimeConverter不是构造函数
如何将此课程纳入我的测试中,以便测试其功能?
答案 0 :(得分:2)
所以我想出了这个,并认为我会发布答案以防其他人被困在这上面。 当您导入库时,您(可能很明显)没有直接访问该类,但它是一个句柄:
ContextWrapper
然后您可以实例化它:
var DateTimeConverterLib = require('../path/to/DateTimeConverter');
然后像往常一样调用它上面的任何函数:
var timeConverter = new DateTimeConverterLib.DateTimeConverter();
像魅力一样工作,我的所有测试现在都通过了:)
希望能帮到某人