我目前正在使用带有mocha的sinonjs作为测试框架。我试图嘲笑一个班级,但它似乎没有认识到这些方法。
示例:
module ModuleA{
export class ClassA {
public funciton1() {
//do something
}
}
}
it.only("test1", function () {
var sandbox = sinon.sandbox.create();
var mockClassA = sandbox.mock(ModuleA.ClassA);
mockClassA.expects("function1").once();
mockClassA.function1();
});
但是,它会引发异常
TypeError: Attempted to wrap undefined property function1 as function
我是sinonjs的新手,所以我很可能错误地使用它。 Function1在ClassA中定义,因此代码为ClassA创建一个模拟,然后说它希望在mock上调用function1。我不确定为什么它无法找到function1作为一个函数。
任何建议表示赞赏, 谢谢, d
答案 0 :(得分:1)
mock
方法将对象的实例作为参数,并且您传递了一个函数(类声明)。使用new
关键字创建实例:
var mockClassA = sandbox.mock(new ModuleA.ClassA());