如果在typescript文件中定义了类(DateTimeConverter.ts
):
export class DateTimeConverter{
constructor(){
}
//Other methods
}
然后我想导入这个类以在jasmine中执行一些单元测试,所以在我的规范中导入它:
var DateTimeConverter = require('../path/to/DateTimeConverter');
为什么我不能在单元测试中使用该类:
var timeConverter = new DateTimeConverter();
当我运行我的测试时,贾斯敏给出了一个错误:
类型错误:DateTimeConverter不是构造函数
我怎样才能将这个类引入到我的测试中,以便测试它的功能?
最佳答案
所以我想我会把答案贴出来,以防其他人被困在上面。
当您导入库时,您(可能很明显)没有直接访问该类的权限,但有一个访问该类的句柄:
var DateTimeConverterLib = require('../path/to/DateTimeConverter');
然后可以实例化它:
var timeConverter = new DateTimeConverterLib.DateTimeConverter();
然后像平常一样对其调用任何函数:
var result = timeConverter.MyAwesomeTimeFunction();
工作起来很有魅力,我的所有测试都通过了:)
希望能帮上忙