0

我正在关注教程,并且正在尝试删除一个对象。这是我的代码:

define(function(require) {
  var sinon = require('sinon');
  beforeEach(function() {
    this.patientStub = sinon.stub(window, "Patient");
    this.model = new Backbone.Model({
      id: 5,
      title: "Foo"
    });
  });
});

我不断收到错误TypeError: Attempted to wrap undefined property Patient as function。关于 SO 或在线的信息很少,而且都没有帮助。我不知道这是否有什么不同,但这是我的目录结构。

Patient ->  index.html
            karma.conf.js
            css -> 
            js -> 
            test -> 

我试图模拟的对象位于 js/models/Patient.js。拜托,任何帮助都会很棒。

4

1 回答 1

0

undefined问题是您尝试在测试运行时模拟一个不存在的函数(意味着)。您应该将文件加载到您的文件中,index.html否则它将在全局命名空间中不可见。sinon在测试中加载 requireJs也不常见,通常你也会把它放在你index.html

于 2013-08-08T19:27:50.063 回答