Tôi có một đối tượng là kết quả của một cuộc gọi API và tôi muốn xác nhận các giá trị của một biến thành viên.Bạn có nên bắt AssertionError trong các bài kiểm tra JUnit không?
Giá trị này có thể là một trong hai giá trị được mong đợi tùy thuộc vào những gì cuộc gọi API "nhìn thấy" đầu tiên và đặt trước. Vì vậy, nếu xác nhận trên một giá trị không thành công, tôi muốn xác nhận một giá trị khác trước khi tuyên bố thử nghiệm dưới dạng lỗi.
Cách tốt nhất để làm điều này là gì? Những gì tôi có ngay bây giờ là:
try {
assertEquals("message", someObject.getValue1(), expectedValue1);
} catch(AssertionError ae) {
assertEquals("message", someObject.getValue1(), expectedValue2);
}
Tôi không chắc liệu đây có phải là thực tiễn có thể chấp nhận hay không. Hãy bình luận.
Cảm ơn, @Aquilon! Trong trường hợp này, các xác nhận của tôi được chôn trong một phương thức xác minh lấy làm tham số các thuộc tính của đối tượng mà tôi cần phải xác nhận. Vì vậy, tôi không thể thực sự vượt qua hai giá trị dự kiến cho cùng một thuộc tính mà không thay đổi chữ ký của phương thức. Vì vậy, tôi gắn bó với bản gốc thử ... bắt giải pháp trong khi ghi nhận giải pháp của bạn cho tương lai. – Shine