Python unittest-Ran 0 tests en 0.000 s

alors je veux faire ce code Kata<!--5 pour l'entraînement. Je veux mettre en œuvre le kata avec tdd dans des fichiers séparés:

L'algorithme:

# stringcalculator.py  
def Add(string):
   return 1

et les tests:

# stringcalculator.spec.py 
from stringcalculator import Add
import unittest

class TestStringCalculator(unittest.TestCase):
    def add_returns_zero_for_emptyString(self):
        self.assertEqual(Add(' '), 0)

if __name__ == '__main__':
    unittest.main()

quand j'exécute le testfile, j'obtiens:

Ran 0 tests in 0.000s

OK

il devrait retourner un test échoué cependant. Ce qui me manque ici?

13
demandé sur MattSom 2017-05-13 23:50:11

2 réponses

Comme indiqué dans le python unittest doc:

la sous-classe TestCase la plus simple implémente simplement une méthode d'essai (c'est à dire une méthode dont le nom commence par test)

Vous devrez donc changer le nom de votre méthode en quelque chose comme ceci:

def test_add_returns_zero_for_emptyString(self):
    self.assertEqual(Add(' '), 0)
19
répondu abccd 2017-05-13 20:59:51

Sidenote: aussi, le nom du fichier dans lequel se trouvent tous les tests devrait commencer par 'test_'

10
répondu Shashank 2017-05-24 11:48:04