Тест не выполняется из командной строки - PullRequest
0 голосов
/ 12 апреля 2020

Тест ниже работает, как и ожидалось, когда я выполняю из PyCharm, но когда я пытаюсь запустить python TestData.py из командной строки, я получаю:

Traceback (most recent call last):
  File "TestData.py", line 3, in <module>
    from service.DataAccessor import Data
ModuleNotFoundError: No module named 'service'

Когда я пытаюсь python -m unittest

I receive:

----------------------------------------------------------------------
Ran 0 tests in 0.000s

OK

Обе команды выполняются из каталога project.

Структура проекта:

project/service
 - DataAccessor.py
project/test
 - TestData.py

Код:

TestData. py:

    import unittest

    from service.DataAccessor import Data

    class TestData(unittest.TestCase):

        def test_get_data(self):
            print(Data.getDf(self))
            self.assertEqual(3, 3)

    if __name__ == '__main__':
        unittest.main()

DataAccessor.py:

import pandas as pd

class Data():

    def getDf(self):

        df = pd.read_csv("./data.csv")
        return df

1 Ответ

0 голосов
/ 12 апреля 2020

Исходя из Java фона Я не уверен на 100%, почему это работает, но добавив пустой __init__.py в dirs: test & service и выполнил python -m unittest test.TestData выполняет тест.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...