我正在关注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。拜托,任何帮助都会很棒。
答案 0 :(得分:0)
问题是您在测试运行时尝试模拟不存在的函数(表示undefined
)。您应该在index.html
中加载该文件,否则它将不会在全局命名空间中变为可变。在测试中使用requireJs加载sinon
也不常见,通常你会将它放在index.html
中