我有一个带有静态方法的类,我想在Jasmine中测试。我知道静态方法不能在类的实例上调用。所以除了找不到spyOn的方法之外,我的测试没有通过,但是如何在Jasmine的类中测试静态方法呢?
谢谢!
class Foo {
static foobar (a, b) {
return a * b
}
}
茉莉花测试
it ('should test a static method', () => {
let foo = new Foo()
spyOn(foo, 'foobar')
foo.foobar(2,3)
expect(foo.foobar).toBe(6)
})
答案 0 :(得分:23)
您应该可以使用spyOn(Foo, 'foobar')
使其成为间谍。
间谍也不是要直接测试 - 它们是一种工具,因此您可以更加确定地并且孤立地测试其他代码。