Как исправить pytest "NameError: имя * не определено для параллельных исходных и тестовых папок - PullRequest
0 голосов
/ 29 февраля 2020

Я использую платформу pytest win32 - Python 3.8.1, pytest-5.3.5, py-1.8.1, pluggy-0.13.1

Моя структура папок соответствует https://docs.pytest.org/en/5.3.5/goodpractices.html

C:\Users\auser\Desktop\My-App\
    setup.py
    tests\
        test_Receiver.py
        test_Sender.py
    appscr\
        __init__.py
        Receiver.py
        Sender.py
    appscr.egg-info\

Два модуля приложения похожи

Sender.py
    class MyChannel:
    ...
        def openChannel(self):
    ...
    def getOptions():
    ...

Оба файла работают без сбоев в IDLE, и у меня были тесты, работающие до рефакторинга папок. Я получаю ошибки pytest, которые, кажется, указывают на то, что pytest не может найти исходные файлы и затем сопоставляет тестовый код с функциями. Я добавил / удалил import для модулей и пакетов в тестовые модули - без разницы. Я в тупик, как это исправить.

Вот одна ошибка для прибора для создания экземпляра тестируемого объекта

    ___ ERROR at setup of test_ctor 
    @pytest.fixture
    def newObject():
    #   instantiate new Object Under Test
    >       objectUnderTest = MyChannel(1,2,3)
    E       NameError: name 'MyChannel' is not defined
    tests\test_Reciever.py:37: NameError

Вот вторая ошибка для функции

    ____ test_getOptions _______________________________________________
    def test_getOptions():
    >       getOptions()
    E       NameError: name 'getOptions' is not defined
    tests\test_Receiver.py:29: NameError
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...