当我运行我的 jasmine 规范时,我收到以下错误:

Error: Expected a spy, but got undefined.

我的咖啡脚本代码:
  describe "setupForm", ->
    beforeEach ->
      spyOn(Subscription.prototype, 'runSimulation')

    it "calls subscription.runSimulation when form is submitted with number", ->
      Subscription.prototype.runSimulation()
      expect(Subscription.prototype.runSimulation()).toHaveBeenCalled()

我已经将我的错误代码简化为上面的调试代码,但我不明白为什么当我明确地将其称为我的测试时,它说从未调用过 spy 。我正在其他地方测试该方法,所以我认为错误与我使用 Jasmine Spy 的方式有关。谢谢。

最佳答案

去掉 () 末尾的 Subscription.prototype.runSimulation() :

  expect(Subscription.prototype.runSimulation).toHaveBeenCalled()

关于javascript - Jasmine spy 未定义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12024430/

10-13 02:54