Chỉ cần nâng cấp lên nhài 2.0 RC5 từ 1.3 và bây giờ tất cả các xét nghiệm của tôi rằng sử dụng waits()
bị phá vỡ vì waits()
và waitsFor()
chức năng là không xác định. Tôi dường như không thể tìm thấy bất kỳ tham chiếu đến bất cứ nơi nào trực tuyến, là bất cứ ai nhận thức được API mới để thay thế wait() là gì?Jasmine 2.0 rc * chờ đợi không được định nghĩa
Trả lời
Vâng, cú pháp sử dụng cho các cuộc gọi không đồng bộ đã thay đổi. Bạn có thể dễ dàng nhận thấy sự khác biệt giữa hai phiên bản trong các tài liệu của nó:
Jasmine 1.3 Asynchronous support sử dụng waitsFor()
và run()
chức năng.
Theo Jasmine 2.0 Asynchronous support, các chức năng này đã bị xóa khỏi thư viện. Tuy nhiên, Jasmine 2.0 thêm hỗ trợ không đồng bộ cho các hàm beforeEach()
, afterEach()
và it()
nguyên thủy. Các hàm gọi lại được truyền cho các hàm này bây giờ có thể lấy một đối số cho biết liệu spec có thể hoặc không thể chạy.
Sau đó, khi bạn đạt đến các điều kiện cần thiết để chạy thử nghiệm của bạn (bất cứ khi nào công việc không đồng bộ của bạn hoàn tất), bạn chỉ cần gọi done()
. Và tất cả sự kỳ diệu xảy ra;)
Từ các tài liệu:
describe("Asynchronous specs", function() {
var value;
beforeEach(function(done) {
setTimeout(function() {
value = 0;
done();
}, 1);
});
it("should support async execution of test preparation and expectations", function(done) {
value++;
expect(value).toBeGreaterThan(0);
done();
});
});
Các it()
đặc tả ở trên sẽ chỉ chạy sau khi setTimeout()
cuộc gọi, vì done()
được gọi là có. Lưu ý cuộc gọi lại it()
có một đối số (done
).
Sử dụng jasmine.DEFAULT_TIMEOUT_INTERVAL = 5000
Vui lòng tham khảo URL dưới đây để biết Jasmine Documentation ... http://jasmine.github.io/2.0/introduction.html
Mục là "Hỗ trợ đồng bộ" trong tài liệu.
- 1. Jasmine 'mong đợi' chờ đợi một lời hứa kéo dài để giải quyết
- 2. Jasmine array.length mong đợi
- 3. Điều kiện chờ đợi và chờ đợi
- 4. 'định nghĩa `và` unless` không làm việc như mong đợi
- 5. Định nghĩa kiểu MomentJS với Typescript 2.0
- 6. sử dụng async/chờ đợi với webpack-đơn giản cấu hình ném lỗi: RegeneratorRuntime không được định nghĩa
- 7. Định nghĩa OAuth 2.0 của khách hàng
- 8. Không đồng bộ/Đang chờ không chờ đợi
- 9. Nested Async/chờ đợi Không xuất hiện để được Scaling
- 10. Jasmine ném lỗi trên mong đợi() .Thay đổi thay vì xác định lỗi được ném
- 11. Jasmine mong đợi logic (mong đợi A HOẶC B)
- 12. Nên lồng ghép các hoạt động chờ đợi được chờ đợi?
- 13. try..catch không bắt được lỗi đồng bộ/chờ đợi
- 14. Kết hợp chờ đợi ngầm và chờ đợi rõ ràng cùng kết quả trong thời gian chờ đợi bất ngờ
- 15. Chờ cho ngOnInit để kết thúc trong Jasmine Angular2
- 16. BeforeAll không được định nghĩa (hoa nhài cũ)
- 17. dispatch_group_notify không chờ đợi cho một dispatch_group_async
- 18. Hiểu async/chờ đợi mà không đề
- 19. chờ đợi vs Unwrap()
- 20. Thước đo chờ đợi cho isElementPresent và nhấp vào yếu tố chờ đợi không thành công
- 21. Chuỗi cuộc gọi cho async/await ... đang chờ đợi sự chờ đợi hoặc trả lại những gì đang chờ đợi?
- 22. abstractmethod không được định nghĩa
- 23. Grunt không được định nghĩa
- 24. không "rc" có ý nghĩa gì trong dot file
- 25. Future.wait() không thể chờ đợi mà không có chất xơ (trong khi chờ đợi một tương lai khác trong Meteor.method)
- 26. 'Windows.Storage.StorageFile file = chờ đợi FilePicker.PickSingleFileAsync()' không làm việc
- 27. Asp.net Mvc 2.0 RC Thiết lập Chủ đề CurrentCulture/Ui
- 28. Khi nào 'chờ đợi' được giải quyết đồng thời?
- 29. thời gian hết hạn chờ đợi không được sử dụng, chỉ mặc định là 30 đang được sử dụng
- 30. chờ Task.WhenAll vs ..select (async .. => chờ đợi)
Gọn gàng, không thấy rằng tài liệu 2.0 đã hết! Cảm ơn con trỏ – silkAdmin