У меня есть следующая функция в Python, и я хочу проверить с unittest, что если функция получает 0 в качестве аргумента, она выдает предупреждение. Я уже пробовал assertRaises, но поскольку я не предупреждаю об этом, это не работает.Как проверить с помощью Python unittest, что предупреждение было брошено?
def isZero(i):
if i != 0:
print "OK"
else:
warning = Warning("the input is 0!")
print warning
return i
Спасибо, Томас
Что касается работы вокруг * ... если предупреждение уже поднимался из-за правило один раз/по умолчанию, не то независимо от того, какие фильтры устанавливаются предупреждения не будут видны снова, если в реестре предупреждений не связанных с предупреждением был очищен. * ([docs] (https://docs.python.org/3/library/warnings.html#testing-warnings)) см. [эту статью] (https://blog.ionelmc.ro/2013/06/26/testing-python-warnings /) о уровне модуля '__warningregistry__' (упоминаются в документах реестра). – saaj