Итак, я попробовал много вещей (из SO и больше), чтобы запустить мои тесты, но ничего не получилось, это мой текущий код:
test.py
, который я вызов для запуска тестов: python3 ./src/preprocess/python/test.py
import unittest
if __name__ == '__main__':
testsuite = unittest.TestLoader().discover('.')
unittest.TextTestRunner(verbosity=2).run(testsuite)
файл теста выглядит следующим образом:
import unittest
from scrapes.pdf import full_path_to_destination_txt_file
print(full_path_to_destination_txt_file)
class PreprocessingTest(unittest.TestCase):
def path_txt_appending(self):
self.assertEqual(full_path_to_destination_txt_file(
"test", "/usr/test"), "/usr/test/test.txt")
if __name__ == '__main__':
unittest.main(verbosity=2)
Но вывод всегда такой:
python3 ./src/preprocess/python/test.py
----------------------------------------------------------------------
Ran 0 tests in 0.000s
OK
Дополнительная информация:
- Как видите, я звоню не из моего каталога root. Папка с тестами находится в
./src/preprocess/python/test/
и содержит __init__.py
файл (есть также файл инициализации на уровне test.py) - для меня было бы хорошо, если бы мне пришлось кодировать все вызовы для всех тестов, которые я просто хочу завершить sh, это
- automati c поиск с -t также не работает, поэтому я подумал, что более надежный метод здесь с test.py будет работать ...
- использование этого фреймворка является обязательным требованием, которому я должен следовать
- test_preprocessing.py находится в папке test, а
from scrapes.pdf import full_path_to_destination_txt_file
scrapes - папка модуля на том же уровне, что и test - Когда я вызываю одиночный модульный тест непосредственно в командной строке, он не выполняется из-за относительного импорта. Но использование test.py (очевидно) находит модули.
Что не так?