gpt4 book ai didi

使用 Jasmine 和 Sinon 测试主干模型 - 对象 # 没有方法 'spy'
转载 作者:行者123 更新时间:2023-11-28 20:17:38 26 4
gpt4 key购买 nike

我正在尝试学习如何使用 Jasmine 和 Sinon 来测试 Backbone 应用程序,并且我正在关注 this tutorial .然而,我遇到了一个我不知道如何解决的问题。

解决方案很可能很简单,但我需要一些指导......

在我的 project.spec.js 文件中,这是出现问题的代码:

it("should not save when name is empty", function() {
var eventSpy = sinon.spy();
this.project.bind("error", eventSpy);
this.project.save({"name": ""});
expect(this.eventSpy.calledOnce).toBeTruthy();
expect(this.eventSpy.calledWith(
this.project,
"cannot have an empty name"
)).toBeTruthy();
});

这是可以在浏览器中看到的特定错误:

Failing 1 spec
7 specs | 1 failing
Project model should not save when name is empty.
TypeError: Object #<Object> has no method 'spy'
TypeError: Object #<Object> has no method 'spy'
at null.<anonymous> (http://localhost:8888/__spec__/models/project.spec.js:53:26)
at jasmine.Block.execute (http://localhost:8888/__JASMINE_ROOT__/jasmine.js:1024:15)
at jasmine.Queue.next_ (http://localhost:8888/__JASMINE_ROOT__/jasmine.js:2025:31)
at jasmine.Queue.start (http://localhost:8888/__JASMINE_ROOT__/jasmine.js:1978:8)
at jasmine.Spec.execute (http://localhost:8888/__JASMINE_ROOT__/jasmine.js:2305:14)
at jasmine.Queue.next_ (http://localhost:8888/__JASMINE_ROOT__/jasmine.js:2025:31)
at onComplete (http://localhost:8888/__JASMINE_ROOT__/jasmine.js:2021:18)
at jasmine.Suite.finish (http://localhost:8888/__JASMINE_ROOT__/jasmine.js:2407:5)
at null.onComplete (http://localhost:8888/__JASMINE_ROOT__/jasmine.js:2451:10)
at jasmine.Queue.next_ (http://localhost:8888/__JASMINE_ROOT__/jasmine.js:2035:14)

除了 sinon.js 库,我还安装了 jasmine-sinon.js 库(都在 vendor/assets/javascripts 文件夹中,并包含在 application.js 文件中)。

谢谢,亚历山德拉

最佳答案

我从 GitHub 下载 sinon.js 文件时遇到了这个问题(没有 Sinon 文件夹)。我通过从 http://sinonjs.org/ 下载库解决了这个问题。

关于使用 Jasmine 和 Sinon 测试主干模型 - 对象 #<Object> 没有方法 'spy',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12126512/

26 4 0