如何使用 Jasmine 监视静态 class 方法
How to spyOn a static class method with Jasmine
我有一个 class 带有我想在 Jasmine 中测试的静态方法。我知道静态方法不能在 class 的实例上调用。因此,除了它找不到 spyOn
的方法这一事实之外,我的测试没有通过,但是如何在 class 和 Jasmine[=19= 中测试静态方法呢? ]?
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)
})
您应该可以使用 spyOn(Foo, 'foobar')
使其成为间谍。
此外,间谍也不打算直接进行测试 - 它们是一种工具,可让您更确定地和孤立地测试其他代码。
我有一个 class 带有我想在 Jasmine 中测试的静态方法。我知道静态方法不能在 class 的实例上调用。因此,除了它找不到 spyOn
的方法这一事实之外,我的测试没有通过,但是如何在 class 和 Jasmine[=19= 中测试静态方法呢? ]?
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)
})
您应该可以使用 spyOn(Foo, 'foobar')
使其成为间谍。
此外,间谍也不打算直接进行测试 - 它们是一种工具,可让您更确定地和孤立地测试其他代码。