茉莉花间谍新物品?

时间:2016-08-29 15:55:10

标签: javascript typescript jasmine

我有一个TypeScript(最终测试实际的JavaScript)方法我试图测试。这非常简单:

private static myMethod(foo: IFoo): void {
    let anInterestingThing = new InterestingThing();
    foo.bar = anInterestingThing.getSomethingCool();
}

我想测试getSomethingCool已被调用,通常,我会做一个简单的spyOn,但我无法弄清楚如何监视新的anInterestingThing宾语。最好的方法是什么?

1 个答案:

答案 0 :(得分:0)

如果 getSomethingCool是原型方法,您可以编写

jasmine.spyOn(InterestingThing.prototype, "getSomethingCool");

然而,这在实践中将非常脆弱。 InterestingThing可能会更改为使getSomethingCool成为实例成员,或者在其静态构造函数等中捕获对原型函数的引用。