是否可以模拟我的JS需要执行的假元素?

时间:2014-02-09 09:13:47

标签: javascript jasmine

我有一个具有rel属性的对象。该rel值带有一个函数运行所需的URL。

var quiz_url = $("#click-to-play-quiz").attr('rel');
var presenter = new app.views.QuizPresenter({quiz_url: quiz_url});
presenter.show();

{j}我想在jasmine.js规范中模拟quiz_url

可以这样做吗?

1 个答案:

答案 0 :(得分:1)

你需要用你的html创建一个夹具,将它包含在jasmine spec

<a id="click-tooplay-quiz" rel="http://test.url" href="#"/>

然后使用jasmine jquery检查它传递的属性

expect($("#click-to-play-quiz").attr('rel')).toBe("http://test.url");

如果您需要自己模拟变量,可能需要稍微重构一下代码并将url作为参数传递给函数,例如。