javascript - 如何使用 Jasmine 监视静态类方法

标签 javascript class static jasmine spy

我有一个带有静态方法的类,我想在 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/

相关文章:

javascript - Symfony2::加载自定义表单类型时添加 Assets

javascript - 更新 Canvas 上的高度/宽度并重新启动绘制

javascript - 缩放后如何调整平移?

c++ - 无法访问类的 vector 成员

c - 静态的生命周期真的在程序执行时开始吗?

C++ 命名空间和静态变量

javascript/jquery-如何检查元素是否具有文本属性

Java 常量类链接(点表示法)

c++ - 使用带类错误的 map ,编译错误

c# - 静态类从基更改成员派生