在JASMINE(JS)FRAMEWORK中单击时会显示如何检查特定div

时间:2014-04-30 13:33:32

标签: javascript jquery backbone.js jasmine

我是Jasmine JS Framework的新手。

我有两个div'<div id="DIV_1"></div> and <div id="DIV_2"></div>。我有两个链接图像,假设我点击链接image1我正在显示DIV_1。如果我点击链接图像2,我首先隐藏DIV_1并显示DIV_2。

我的问题是,如何知道我何时点击链接图片1,我使用 JASMINE JS Framework 显示DIV_1?

我在Jasmine规范中使用此脚本单击链接图像1:$('.link_image').trigger('click');

1 个答案:

答案 0 :(得分:0)

我会创建一个Jasmine夹具,并在该夹具上调用click事件。在此之后,您可以对夹具的状态进行断言。

我通常使用一个名为jasmine-jquery的插件: https://github.com/velesin/jasmine-jquery

代码最终会看起来像这样:

var fixture = setFixture("some_html");
fixture.find('.link_image').trigger('click'); //.find() accepts a JQuery selector
expect(fixture.find('#DIV_1').toBeHidden();
expect(fixture.find('#DIV_2').toBeVisible();

此外,如果您的模板是另一个文件(可能通过AMD加载),请使用此功能:

var fixture = loadFixture('path/to/amd/template');

我强烈建议使用AMD方法加载您在制作中使用的相同模板,否则您必须重新创建HTML作为测试的固定装置,然后在那时您只是测试您的灯具而不是您的实际码。