Chcę mieć pliki z mojej aplikacji pod folderem/Files, natomiast jednostki testowe w/UnitTests, tak aby wyraźnie oddzielić aplikację i przetestować.Python unittesting: uruchom testy w innym module
Aby móc korzystać z tych samych tras modułów co mainApp.py, utworzyłem testController.py w folderze głównym.
mainApp.py
testController.py
Files
|__init__.py
|Controllers
| blabla.py
| ...
UnitTests
|__init__.py
|test_something.py
Więc jeśli w test_something.py Chcę przetestować jedną funkcję, która jest w /Files/Controllers/blabla.py staram następujące:
import unittest
import Files.Controllers.blabla as blabla
class TestMyUnit(unittest.TestCase):
def test_stupid(self):
self.assertTrue(blabla.some_function())
if __name__ == '__main__':
unittest.main()
a następnie z pliku testController.py, ja wykonać następujący kod:
import TestUnits.test_something as my_test
my_test.unittest.main()
które wyjścia żadnych uszkodzeń, ale żadne testy wykonywane
----------------------------------------------------------------------
Ran 0 tests in 0.000s
OK
[Finished in 0.3s]
Próbowałem z testem, który nie ma się zależności, a jeśli wykonywany jako „główny” działa, ale kiedy wywołana z zewnątrz, wysyła taki sam:
import unittest
def tested_unit():
return True
class TestMyUnit(unittest.TestCase):
def test_stupid(self):
self.assertTrue(tested_unit())
if __name__ == '__main__':
unittest.main()
Pytanie: jak mogę to uruchomić?
To jest trochę trochę gadatliwy, ale działa, dziękuję. – bgusach