Я хочу, чтобы файлы моего приложения находились в папке/Files, тогда как тестовые модули в/UnitTests, так что я четко отделил приложение и тест.Python unittesting: запуск тестов в другом модуле
Чтобы использовать те же маршруты модулей, что и mainApp.py, я создал testController.py в корневой папке.
mainApp.py
testController.py
Files
|__init__.py
|Controllers
| blabla.py
| ...
UnitTests
|__init__.py
|test_something.py
Так что, если в test_something.py я хочу проверить одну функцию, которая в /Files/Controllers/blabla.py, я стараюсь следующее:
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()
, а затем из файла testController.py, я выполнить следующий код:
import TestUnits.test_something as my_test
my_test.unittest.main()
Что не выводит никаких сбоев, но тесты не выполняются
----------------------------------------------------------------------
Ran 0 tests in 0.000s
OK
[Finished in 0.3s]
Я попытался с помощью теста, который не имеет зависимостей, и если выполнены как «главный» работает, но при вызове извне, выводит то же самое:
import unittest
def tested_unit():
return True
class TestMyUnit(unittest.TestCase):
def test_stupid(self):
self.assertTrue(tested_unit())
if __name__ == '__main__':
unittest.main()
Вопрос: как я могу заставить это работать?
Это немного бит многословный, но он работает, спасибо. – bgusach