Sinon.js 模拟不识别方法
Sinon.js mocks not recognizing methods
我目前正在使用 sinonjs 和 mocha 作为测试框架。我正在尝试模拟一个 class,但它似乎无法识别这些方法。
示例:
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,然后说它希望在 mock 上调用 function1。我不确定为什么它找不到 function1 作为函数。
任何建议表示赞赏,
谢谢,
D
mock
方法将对象的实例作为参数,并且您正在传递一个函数(class 声明)。使用 new
关键字创建实例:
var mockClassA = sandbox.mock(new ModuleA.ClassA());
我目前正在使用 sinonjs 和 mocha 作为测试框架。我正在尝试模拟一个 class,但它似乎无法识别这些方法。
示例:
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,然后说它希望在 mock 上调用 function1。我不确定为什么它找不到 function1 作为函数。
任何建议表示赞赏, 谢谢, D
mock
方法将对象的实例作为参数,并且您正在传递一个函数(class 声明)。使用 new
关键字创建实例:
var mockClassA = sandbox.mock(new ModuleA.ClassA());