我需要在执行click事件后检测CSS显示值。我确定这是用户错误,但我无法让Jasmine.js报告点击后元素可见性是否已更改。
以下是codepen链接:http://codepen.io/nicholasabrams/pen/dPYoJr
这是代码本身:(这显然不是它被使用的实际情况,但它是一个非常简化的版本,它重现了我目前的问题)
$('#button1').on('click', function(){
$(this).append('<button id="#button2">!!!!!</button>');
});
这是测试本身:
describe("button#1 click test", function(){
beforeEach(function(){
$('#button1').click();
});
it("Should inject a new button with #button2 as the id", function(){
expect($('#button2')).toBeVisible();
});
});
答案 0 :(得分:0)
首先 - 在你的笔中,你应该为jasmine-jquery添加外部脚本。接下来,按钮中的按钮,根据W3C Phrasing content, but there must be no interactive content descendant.
Jasmine是非法的,很好,试着追加到父母身上:
$('#button1').on('click', function(){
$(this).parent().append('<button id="#button2">!!!!!</button>');
});