Một trong các thử nghiệm của tôi dự kiến văn bản thông báo lỗi là một trong nhiều giá trị. Vì getText()
trả về lời hứa Tôi không thể sử dụng toContain()
trình ghép hoa nhài. Sau đây sẽ không hoạt động kể từ protractor
(jasminewd
dưới-the-hood) sẽ không giải quyết được một lời hứa trong phần thứ hai của khớp, toContain()
trong trường hợp này:Mục mong đợi trong mảng
expect(["Unknown Error", "Connection Error"]).toContain(page.errorMessage.getText());
Câu hỏi: Có cách nào để kiểm tra nếu một phần tử nằm trong một mảng với hoa nhài + thước đo góc trong đó một phần tử là một lời hứa?
Nói cách khác, tôi đang tìm nghịch đảo của toContain()
để các expect()
sẽ ngầm giải quyết lời hứa trôi qua trong
Là một workaround, tôi rõ ràng có thể giải quyết lời hứa với then()
:.
page.errorMessage.getText().then(function (text) {
expect(["Unknown Error", "Connection Error"]).toContain(text);
});
Tôi không chắc đây có phải là lựa chọn tốt nhất hay không. Tôi cũng sẽ ổn với giải pháp dựa trên các bên thứ ba như jasmine-matchers
.
Như một ví dụ, loại khẳng định tồn tại trong Python:
self.assertIn(1, [1, 2, 3, 4])
Sử dụng 'chai-as-promise' –
@BenjaminGruenbaum nếu bạn có thể xây dựng đề xuất thành câu trả lời bằng ví dụ - sẽ tuyệt vời, vì nó có vẻ giống như một lựa chọn thay thế hợp pháp phù hợp với một đối sánh tùy chỉnh. Cảm ơn bạn! – alecxe
Nói chung tôi không thích cung cấp thư viện như câu trả lời cho câu hỏi vì điều đó làm cho các câu hỏi của thư viện-đề xuất - mà nói rằng tôi nghĩ rằng trên thực tế nó có lẽ là lựa chọn tốt nhất trong trường hợp này. –