Tôi đang viết theo những điều sau đây, trong đó tôi cố gắng tạo ra một thông báo lỗi phong nha khi so sánh hai khối đa văn bản Unicode. Phương pháp nội thất mà không được so sánh đặt ra một sự khẳng định, nhưng lời giải thích mặc định là vô ích với tôiLàm thế nào để thay đổi thông báo trong Python AssertionError?
tôi cần phải thêm cái gì đó để mã như dưới đây:
def assert_long_strings_equal(one, other):
lines_one = one.splitlines()
lines_other = other.splitlines()
for line1, line2 in zip(lines_one, lines_other):
try:
my_assert_equal(line1, line2)
except AssertionError, error:
# Add some information to the printed result of error??!
raise
tôi không thể tìm ra cách để thay đổi in thông báo lỗi trong assertionerror tôi bắt. Tôi luôn nhận được AssertionError: u'something' != 'something else'
, chỉ hiển thị dòng đầu tiên của đầu ra.
Làm cách nào để thay đổi thông báo xác nhận để in ra bất kỳ điều gì tôi muốn?
Nếu có liên quan, tôi đang sử dụng nose
để chạy thử nghiệm.
Chỉ cần làm rõ, tôi nhận thấy rằng việc bắt lỗi Lỗi xác thực là lạ. Nó chỉ xảy ra như vậy mà 'my_assert_equal' là loại sâu và tôi không muốn gây rối với nó. –
Chỉ để chỉ ra, bạn nên có 'ngoại trừ' không' bắt'. Mặc dù tôi chắc chắn đó chỉ là lỗi chính tả: p – katrielalex