Sinon没有使用Require和Backbone

时间:2013-08-08 18:00:43

标签: javascript backbone.js require sinon

我正在关注this教程,我试图找出一个对象。这是我的代码:

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。拜托,任何帮助都会很棒。

1 个答案:

答案 0 :(得分:0)

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