I have a class with a static method that I want to test in Jasmine. I understand that static methods are not callable on instances of the class. So besides the fact that it cannot find the method to spyOn
, my test does not pass, but how would one go about testing static methods in a class with Jasmine?
class Foo { static foobar (a, b) { return a * b } }
Jasmine Test
it ('should test a static method', () => { let foo = new Foo() spyOn(foo, 'foobar') foo.foobar(2,3) expect(foo.foobar).toBe(6) })
You should be able to use spyOn(Foo, 'foobar')
to make it a spy.
Also spies are not intended to directly be tested - they are a tool so that you can test other code more deterministically and in isolation.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With