Comment échouer à un python unittest dans setUpClass?
Je suis en train de faire quelques unittests avec python et quelques pré-test vérifie dans setUpClass
. Comment puis-je jeter un unitest
-fail
dans le setUpClass
, comme l'exemple simple suivant:
class MyTests(unittest.TestCase):
@classmethod
def setUpClass(cls):
unittest.TestCase.fail("Test")
def test1(self):
pass
if __name__ == '__main__':
unittest.main()
donne l'erreur TypeError: unbound method fail() must be called with TestCase instance as first argument (got str instance instead)
.
Je comprends l'erreur que je reçois comme un échec est une méthode d'instance, et je n'ai pas une instance de MyClass
encore. À l'aide d'un exemple à la volée comme
unittest.TestCase().fail("Test")
aussi ne fonctionne pas, que unittest.TestCase
lui-même n'a pas de tests. Des idées comment l'échec de tous les tests en MyClass
, lorsque certaines conditions dans setUpClass
n'est pas respecté?
Suivi question: Est-il un moyen de voir les tests en setUpClass
?
Vous devez vous connecter pour publier un commentaire.
self.fail("test")
mettre dans votre configuration de la méthode d'instance d'échec de tous les testsJe pense que la meilleure façon de faire au niveau de la classe est de faire une variable de classe donc quelque chose comme:
Espère que c'est ce que vous voulez.
setUpClass
, ce qui n'est pas une instance deMyTest
, doncself
n'est pas défini à ce niveau.cls.fail()
aussi ne fonctionne pas.À l'aide d'un simple faire valoir devrait fonctionner
setUpClass
qui est un classmethod, donc je N'ai PASself
...assert
est vraiment une bonne idée...