Модуль тестирования модуля Python выдает «ModuleNotFoundError: нет модуля с именем« tests.test_file »» - PullRequest
0 голосов
/ 27 июня 2019

Я пытаюсь выполнить тестовый пример для проекта, над которым я работал. Раньше я успешно выполнял модульные тесты, но теперь это приводит к ошибкам. Я точно знаю, что не было обновлений в каких-либо библиотеках или изменениях в Path. Я попытался взглянуть на исходный код и выяснить, почему он дает ошибку, но пока не повезло. Любая помощь в этом будет оценена.

Версия Python - 3.7.1

Пример кода ниже

import unittest

class MyTestCase(unittest.TestCase):

def test_dummy(self):
    self.assertEqual(2+2,4)

Я использовал следующую команду в cmd для выполнения теста.

C: \ Users \ Yadada \ Desktop \ repo \ mwe \ mwe> python -m unittest tests \ test_file.py '' '

Моя структура папок

 MEW -|
      |_tests - |
                |_test_file.py

Ожидаемый результат - тест, который успешно выполняется, потому что он прост. Но я получаю следующую ошибку

=============================================== =======================

strclass
ERROR: test_file (unittest.loader._FailedTest)
----------------------------------------------------------------------
ImportError: Failed to import test module: test_file
Traceback (most recent call last):
  File "C:\Users\yadada\AppData\Local\Continuum\anaconda3\lib\unittest\loader.py", line 156, in loadTestsFromName
    module = __import__(module_name)
ModuleNotFoundError: No module named 'tests.test_file'


----------------------------------------------------------------------
Ran 1 test in 0.001s

1 Ответ

1 голос
/ 27 июня 2019

Проблема была решена после помещения пустого файла init.py в папку с тестами.

Более подробное объяснение того, почему он работает, см. В Для чего нужен __init__.py?

Спасибо, @aws_apprentice за помощь.

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