unittest pour aucun type en python?
Je me demandais juste comment je pourrais tester pour une fonction qui ne retourne rien. par exemple, dire que j'ai cette fonction:
def is_in(char):
my_list = []
my_list.append(char)
et puis si je devais le tester:
class TestIsIn(unittest.TestCase):
def test_one(self):
''' Test if one character was added to the list'''
self.assertEqual(self.is_in('a'), and this is where I am lost)
Je ne sais pas quoi pour affirmer la fonction est égal, car il n'existe pas de valeur de retour que j'
pourrait le comparer à.
EDIT: serait assertIn travail?
OriginalL'auteur peppy | 2013-02-14
Vous devez vous connecter pour publier un commentaire.
Toutes les fonctions Python retourner quelque chose. Si vous ne spécifiez pas de valeur de retour,
None
est retourné. Si votre but est vraiment pour s'assurer que quelque chose ne retourne pas une valeur, vous pouvez juste dire(Cependant, cela ne peut pas distinguer entre une fonction sans valeur de retour explicite et qui ne
return None
.)OriginalL'auteur Kevin Christopher Henry
Au point d'un test unitaire est de tester quelque chose que la fonction ne. Si ce n'est pas retourner une valeur, alors qu'est-elle réellement en train de faire? Dans ce cas, il ne semble pas faire quoi que ce soit, depuis
my_list
est une variable locale, mais si votre fonction fait l'air quelque chose comme ceci:Alors vous voulez tester si
char
est en fait ajouté à la liste. Votre test:Puisque la fonction ne retourne pas de valeur, il n'y a pas de point de tests de dépistage pour elle (sauf si vous avez besoin de s'assurer qu'il ne retourne pas une valeur).
OriginalL'auteur aquavitae