Folder mój unittest jest zorganizowany w ten sposób.Wykrywanie Python unittest z podfolderami
.
|-- import
| |-- import.kc
| |-- import.kh
| `-- import_test.py
|-- module
| |-- module.kc
| |-- module.kh
| `-- module_test.py
`-- test.py
chciałbym po prostu uruchomić test.py
uruchomić każdy z moich *_test.py
użyciu unittest moduł Pythona. Obecnie mój test.py zawiera
#!/usr/bin/env python
import unittest
if __name__ == "__main__":
suite = unittest.TestLoader().discover('.', pattern = "*_test.py")
unittest.TextTestRunner(verbosity=2).run(suite)
Dokumentacja pyton mówi, że powinien on automatycznie wykrywają próbę w podfolderów. Ale tak nie jest.
W tej chwili to tylko wyprowadza
----------------------------------------------------------------------
Ran 0 tests in 0.000s
OK
Jestem pewien, że nie jest to problem z moim pliku *_test.py
, bo kiedy je przenieść do katalogu, to działa dobrze .. co ja Robię źle?
Po prostu dotykałem pliku '__init __. Py', dziękuję. Czy możesz mi wyjaśnić, dlaczego muszę to zrobić? I czy istnieje inne rozwiązanie, które? Ponieważ pracuję z innymi ludźmi i chciałbym, żeby testy były najłatwiejsze do stworzenia. – tomahh
Jest to artefakt dotyczący sposobu implementacji wykrywania testów. Zasadniczo każdy katalog zawierający test musi być importowalny jako moduł Pythona. Więcej informacji można znaleźć w [docs] (http://docs.python.org/2/library/unittest.html#test-discovery). –