gpt4 book ai didi

javascript - Jasmine 测试在测试运行中、Firefox/Chrome 之间以及检查器打开/关闭时的结果不一致

转载 作者:行者123 更新时间:2023-11-28 01:50:54 26 4
gpt4 key购买 nike

我在 Jasmine 中试图通过测试时遇到了困难。它位于一个有 10 行的页面上。有一个按钮可以切换显示/隐藏第 4-10 行。手动测试时该功能 100% 运行良好。然而,当我运行下面的 Jasmine 测试(它总共可以显示 10 行)时,它有时在 Firefox 上失败,而在 Chrome 上大多数时候都可以工作(尽管有时打开 Chrome 检查器会改变测试行为)

这是测试:

describe('Show / Hide feature', function() {
beforeEach(function(){
loadFixtures('tools_generate__codes.html');
GenerateCodes.bind();
GenerateCodesFunctions.hideExtraRows();
GenerateCodesFunctions.toggleShowHideMore();
});

it('defaults to showing 3 rows', function() {
expect($('.filenames >tbody > tr:visible').length === 3).toBeTruthy();
});

it('can show 10 total rows', function() {
$('.show_more').click();
expect($('.filenames >tbody > tr:visible').length === 10).toBeTruthy();
});
});

和代码:

GenerateCodesFunctions = {
toggleShowHideMore: function() {
$('.show_more').click(function(event) {
event.preventDefault();
if ($('.show_more').html() === 'Show More') {
alert("WTF");
GenerateCodesFunctions.showExtraRows();
} else {
GenerateCodesFunctions.hideExtraRows();
}
});
},

hideExtraRows: function() {
for (var i = 4; i <= 10; i++) {
$("#generate__codes_filename" + i).val('');
$("#generate__codes_filename" + i + "_count").val('');
$("#generate__codes_filename" + i + "_prefix").val('');
$("#generate__codes_filename" + i).parent().parent().hide();
}
$('.show_more').html("Show More");
},

showExtraRows: function() {
for (var i = 4; i <= 10; i++) {
$("#generate__codes_filename" + i).parent().parent().show();
}
alert('showed extra rows');
$('.show_more').html("Show Less");
}
};

似乎发生的情况是 .show_more 按钮被点击 2-3 次(警报“wtf”出现多次)。 $('.show_more').click 代码在测试中仅出现一次。在两者上,第一次单击似乎都没有将按钮的文本更改为“显示更少”。在 Chrome 上,第二次单击会将文本更改为“显示更少”,而在 Firefox 上则不会,我认为这是导致问题的原因。

为什么按钮被点击多次,为什么按钮的文本没有改变。另外,为什么这种行为在 Firefox 和 Chrome 上有所不同?

最佳答案

找出导致问题的原因。我愚蠢地只是将页面中的 html 直接复制到固定装置中,这可能导致加载固定装置重新加载所有 javascript 文件。我认为要么是 .js 文件的重新加载导致了错误,要么是加载速度减慢导致了错误,因为单击事件处理并不总是在预期之前完成(对预期设置超时导致测试通过)。

关于javascript - Jasmine 测试在测试运行中、Firefox/Chrome 之间以及检查器打开/关闭时的结果不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19711812/

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