Python unittest ModuleNotFoundError: модуль не назван <...>Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Python unittest ModuleNotFoundError: модуль не назван <...>

Сообщение Anonymous »

Я пытался создать простой проект Python с помощью flask и unittest. Структура довольно проста:

Код: Выделить всё

classes
|-sysinfo
|static
|templates
|- index.html
|- layout.html
|__init__.py
|sysinfo.py
|printinfo.py
tests
|test_sysinfo.py
README.md
requirments.txt
Очень простой класс в printinfo.py:

Код: Выделить всё

 #!/usr/bin/python
import psutil
import json
class SysInfo:
.......
def displayInfo(self):
.......
return json.dumps(self.__data)
И простой сервер Flask, работающий с sysinfo.py:

Код: Выделить всё

from flask import Flask, flash, redirect, render_template, request, session, abort
from printinfo import SysInfo
import json
obj1 = SysInfo("gb")
app = Flask(__name__)
@app.route('/')
def index():
var = json.loads(obj1.displayInfo())
return render_template('index.html',**locals())
@app.route('/healthcheck')
def healthcheck():
return "Ok"
@app.route("/api/all")
def all():
return obj1.displayInfo()
if __name__ == '__main__':
app.run(host='0.0.0.0', port=80)
del obj1
Я запускаю его с помощью python sysinfo.py, оставаясь в папке groups/sysinfo, и все работает нормально.

Поэтому я решил запустить unittest для своего приложения. Поместите в классы/тесты (также пробовал классы/sysinfo/tests) файл test_sysinfo.py с кодом:

Код: Выделить всё

import unittest
import printinfo
from sysinfo import sysinfo
import json
import sys
class TestFlaskApi(unittest.TestCase):
def setUp(self):
self.app = sysinfo.app.test_client()
def simple_test(self):
response = self.app.get('/health')
self.assertEqual(
json.loads(response.get_data().decode(sys.getdefaultencoding())),
{'healthcheck': 'ok'}
)
if __name__ == "__main__":
unittest.main()
И когда я запустил это, я увидел ошибку:

Код: Выделить всё

Error Traceback (most recent call last):
File "\Python\Python37-32\lib\unittest\case.py", line 59, in testPartExecutor
yield   File "\Python\Python37-32\lib\unittest\case.py", line 615, in run
testMethod()   File "\Python\Python37-32\lib\unittest\loader.py", line 34, in testFailure
raise self._exception ImportError: Failed to import test module: test_sysinfo Traceback (most recent call last):   File
"\Python\Python37-32\lib\unittest\loader.py", line 154, in
loadTestsFromName
module = __import__(module_name)   File "\classes\sysinfo\tests\test_sysinfo.py", line 2, in 
import printinfo ModuleNotFoundError: No module named 'printinfo'
Я прочитал несколько статей и некоторые темы здесь, на StackOverflow, насколько я понимаю, это связано со структурой проекта. Я попытался создать setup.py и setup.cfg. Мне удалось запустить его с этой настройкой, но тест все равно не работал.

Не могли бы вы помочь мне с минимальной настройкой, применимой в моем случае? Весь материал, который я нашел, был написан для конкретного случая или слишком общий. Я не могу применить это в своем случае.

Подробнее здесь: https://stackoverflow.com/questions/535 ... dule-named
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • ModuleNotFoundError: модуль не назван для Python Django
    Anonymous » » в форуме Python
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Python: ModuleNotFoundError: модуль не назван...?
    Anonymous » » в форуме Python
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • Python: ModuleNotFoundError: модуль не назван...?
    Anonymous » » в форуме Python
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • ModuleNotFoundError: модуль не назван — при импорте модуля из другой папки
    Anonymous » » в форуме Python
    0 Ответы
    60 Просмотры
    Последнее сообщение Anonymous
  • `pip install .` успешно устанавливается - но вызов вызывает: ModuleNotFoundError: модуль не назван - импорт работает нор
    Anonymous » » в форуме Linux
    0 Ответы
    30 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»