Comment tester avec Python unittest qu'une alerte a été levée?

J'ai une suite de fonction en Python et je veux tester avec unittest que si la fonction est 0 comme argument, il lance un avertissement. J'ai déjà essayé assertRaises, mais depuis que je ne soulèvent pas l'avertissement, qui ne fonctionne pas.

def isZero(i):
    if i != 0:
        print "OK"
    else:
        warning = Warning("the input is 0!") 
        print warning
    return i
  • Concernant le travail autour ...si un avertissement a déjà été soulevée en raison de/par défaut la règle, alors peu importe ce que les filtres sont définis à l'avertissement de ne pas être vu à nouveau, à moins que les mises en garde de registre liées à la mise en garde a été effacé. (docs) voir cet article à propos de module niveau __warningregistry__ (le registre docs mentions).