Tôi muốn người chạy dừng sau lần thất bại đầu tiên thay vì chạy tất cả các thử nghiệm.Làm thế nào tôi có thể làm cho jasmine.js dừng lại sau khi thử nghiệm thất bại?
Trả lời
Đó là một hack, nhưng bạn có thể thực hiện việc này bằng cách chèn tập lệnh này trước bài kiểm tra đầu tiên của bạn;
<script type="text/javascript">
// after every test has run
afterEach(function() {
// check if any have failed
if(this.results_.failedCount > 0) {
// if so, change the function which should move to the next test
jasmine.Queue.prototype.next_ = function() {
// to instead skip to the end
this.onComplete();
}
}
});
</script>
mới nhất của Jasmine cam kết tại thời điểm áp dụng này là https://github.com/pivotal/jasmine/commit/8b02bf731b193e135ccb486e99b3ecd7165bf95c
'console.log (this.results_)' in "undefined" –
Vâng, Jasmine v2 đã xuất hiện vì điều này đã được đăng trong 2013 –
Có thể xóa bỏ phiếu bầu? –
Đây là một yêu cầu tính năng rất phổ biến cho các dự án hoa nhài: https://github.com/jasmine/jasmine/issues/414
Dường như có sự quan tâm trong việc thực hiện nó, nhưng nó cũng đã được mở trong một thời gian rất dài, vì vậy ai biết khi nào nó có thể được phát hành. Ngoài ra, Mocha thực hiện tính năng này với tùy chọn b/- bail: https://mochajs.org/#usage. Api của nó là rất tương tự như của Jasmine, do đó bạn có thể muốn xem xét việc chuyển đổi.
Điều gì làm cho "câu hỏi này không thực sự"? –
Có một vấn đề mở cho việc này tại đây https://github.com/jasmine/jasmine/issues/414. Tác giả đã viết một plugin https://github.com/goodeggs/jasmine-bail-fast. Không đúng cách 'this.results()' không tồn tại đối với tôi trong bài kiểm tra đơn vị AngularJS của tôi (do nghiệp chướng) thực hiện. –