我有一个带有静态方法的类,我想在 Jasmine 中对其进行测试。我知道静态方法不能在类的实例上调用。因此,除了它找不到 spyOn
的方法这一事实之外,我的测试没有通过,但是如何使用 Jasmine 测试类中的静态方法?
class Foo {
static foobar (a, b) {
return a * b
}
}
Jasmine 测试
it ('should test a static method', () => {
let foo = new Foo()
spyOn(foo, 'foobar')
foo.foobar(2,3)
expect(foo.foobar).toBe(6)
})
最佳答案
您应该能够使用 spyOn(Foo, 'foobar')
使其成为 spy 。
此外, spy 也不打算直接进行测试 - 它们是一种工具,可让您更确定地和隔离地测试其他代码。
关于javascript - 如何使用 Jasmine 监视静态类方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41948342/