Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何用Jasmine监视静态类方法_Javascript_Class_Static_Jasmine_Spy - Fatal编程技术网

Javascript 如何用Jasmine监视静态类方法

Javascript 如何用Jasmine监视静态类方法,javascript,class,static,jasmine,spy,Javascript,Class,Static,Jasmine,Spy,我有一个带有静态方法的类,我想在Jasmine中测试它。我知道静态方法不能在类的实例上调用。所以除了找不到spyOn的方法之外,我的测试没有通过,但是如何在一个有Jasmine的类中测试静态方法呢 茉莉花试验 it ('should test a static method', () => { let foo = new Foo() spyOn(foo, 'foobar') foo.foobar(2,3) expect(foo.foobar).toBe(6)

我有一个带有静态方法的类,我想在Jasmine中测试它。我知道静态方法不能在类的实例上调用。所以除了找不到spyOn的方法之外,我的测试没有通过,但是如何在一个有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')
使其成为间谍


此外,spies不打算直接进行测试-它们是一种工具,因此您可以更确定地单独测试其他代码。

谢谢!我应该想到这一点。另外,感谢您对如何使用间谍的说明:)
it ('should test a static method', () => {
    let foo = new Foo()
    spyOn(foo, 'foobar')
    foo.foobar(2,3)
    expect(foo.foobar).toBe(6)
})