gpt4 book ai didi

unit-testing - 使用 Mocha 测试主干 View

转载 作者:行者123 更新时间:2023-11-28 21:13:35 25 4
gpt4 key购买 nike

我有一个简单的主干 View 和一个用 Mocha 编写的简单单元测试。

查看代码:

var MyView = Backbone.View.extend({
el: '#myDiv',
initialize: function(options) {
if(options.model)
this.model = options.model;
}
});

我的测试代码:

var view;
describe('myView Test', function(){
before(function(done){
view = new MyView();
});
});

当我尝试创建一个新 View 时,我收到;

Application View "before all" hook:
TypeError: Expecting a function in instanceof check, but got #myDiv
at backbone.js line 1203

我不太确定这里缺少什么,有什么见解吗?

谢谢,萨卡尔

最佳答案

我在这里看到了一些错误。

首先,正如@Aron-Woost 提到的,您正在让 before Hook 异步运行。如果这是你想要做的,你需要在钩子(Hook)结束时调用 done(); 否则你会得到一个超时错误。如果您想同步运行 Hook ,请不要将 done 参数传递给函数。

接下来,当您在 before all Hook 中初始化 View 时,您没有传递选项对象参数。没有这个应该会导致你的主干 View 出错。由于未传入 options,因此您应该在 if 语句中收到错误消息 Cannot read property 'model' of undefined。很容易解决这个问题,作为空对象{}传递,所以你有这样的东西:view = new MyView({});

不确定您是如何产生上面列出的确切错误的。您是否提供了解决此问题的所有代码?

关于unit-testing - 使用 Mocha 测试主干 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12134752/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com