Tôi có một chức năng sau đây trong Python và tôi muốn thử nghiệm với unittest rằng nếu hàm được 0 làm đối số, nó sẽ đưa ra một cảnh báo. Tôi đã cố gắng assertRaises, nhưng kể từ khi tôi không nâng cao cảnh báo, điều đó không hoạt động.Làm thế nào để kiểm tra với Python của unittest rằng một cảnh báo đã được ném?
def isZero(i):
if i != 0:
print "OK"
else:
warning = Warning("the input is 0!")
print warning
return i
Cảm ơn bạn, Tomas
Về việc làm việc xung quanh * ... nếu cảnh báo đã được đưa ra vì quy tắc một lần/mặc định, thì bất kể bộ lọc nào được đặt cảnh báo sẽ không được nhìn thấy trừ khi cảnh báo đăng ký liên quan đến cảnh báo đã được xóa. * ([tài liệu] (https://docs.python.org/3/library/warnings.html#testing-warnings)) xem [bài viết này] (https://blog.ionelmc.ro/2013/06/26/testing-python-warnings /) về mức mô-đun '__warningregistry__' (các tài liệu đăng ký đề cập). – saaj