tôi có mã jQuery rằng khi tôi bấm vào một liên kết nó da đầu tiên và sau đó loại bỏ một số HTML, như vậy:chờ QUnit kiểm tra
$(this).parent().parent().hide('slow', function() {
$(this).remove();
});
Tôi muốn thực hiện một thử nghiệm QUnit mà làm cho chắc chắn rằng mã HTML trong câu hỏi đã bị xóa:
$(thelink).click();
// Check that it is gone, by finding the first item in the list
entity = input.form.find('.recurrenceinput_occurrences .occurrence span.action a')[0];
// And make sure it's NOT the deleted one:
ok(entity.attributes.date.value !== "20110413T000000");
vấn đề là tất nhiên rằng() kiểm tra ok đang chạy trước khi ẩn hình ảnh động đã chạy đến một kết thúc, do đó HTML offenting chưa được gỡ bỏ bài viết nào, và thử nghiệm thất bại .
Tôi đã thử nhiều cách khác nhau để trì hoãn/dừng thử nghiệm trong một giây hoặc lâu hơn, nhưng không có gì có vẻ hiệu quả. Cách rõ ràng nhất là sử dụng asynTest và làm
stop();
setTimeout(start, 2000);
Nhưng điều này không thực sự dừng thử nghiệm. Dường như dừng lại điều gì đó trong hai giây, nhưng tôi không chắc chắn về điều gì. :-)
Bất kỳ ý tưởng nào?
Bingo! Đó là thứ tự đúng đắn. :-) Vì vậy, dừng() thực sự chỉ dừng thử nghiệm từ kết thúc? –
Cách tiếp cận này không được chấp nhận nữa (http://qunitjs.com/upgrade-guide-2.x/#replace-stop-and-start-with-assert-async). Câu trả lời của @ ekcrisp sử dụng cách tiếp cận mới. – Joe
Điều ngạc nhiên khi một thứ được hỏi 6 năm trước bị phản đối. lol – epascarello