Ошибка импорта модуля в unittest
Написал юнит-тест для сервера на Python, который при запуске генерирует ошибку:
Traceback (most recent call last):
File "C:\Users\Admin\AppData\Local\Programs\Python\Python37\lib\unittest\case.py", line 59, in testPartExecutor
yield
File "C:\Users\Admin\AppData\Local\Programs\Python\Python37\lib\unittest\case.py", line 615, in run
testMethod()
File "C:\Users\Admin\AppData\Local\Programs\Python\Python37\lib\unittest\loader.py", line 34, in testFailure
raise self._exception
ImportError: Failed to import test module: server_test
Traceback (most recent call last):
File "C:\Users\Admin\AppData\Local\Programs\Python\Python37\lib\unittest\loader.py", line 154, in loadTestsFromName
module = __import__(module_name)
File "D:\Develop\FireChat_Messenger\server\server_test.py", line 2, in <module>
from server import server
ImportError: cannot import name 'server' from 'server' (D:\Develop\FireChat_Messenger\server\server.py)
При этом модуль server.py находится в одной папке с модулями __init__.py и server_test.py
код server_test.py:
from datetime import datetime
from server import server
import unittest
class ServerTestCase(unittest.TestCase):
def test_status(self):
dn = datetime.now()
self.assertEqual(server.status(), {
"server_version": "v0.1",
"is_ON": True,
"time": dn.strftime("%d-%m-%Y %H:%M:%S")
})
if __name__ == '__main__':
unittest.main()
код server.py:
import datetime
def status():
return {
"server_version": "v0.1",
"is_ON": True,
"time": dn.strftime("%d-%m-%Y %H:%M:%S")
}
Код в модуле __init__.py отсутствует.
Помогите решить эту проблему.
Ответы (1 шт):
Автор решения: Danis
→ Ссылка
Место
from server import server
пишите
import server
Потому что server_test.py и server.py лежат в одной папке, если бы server_test.py лежал выше то импорт был бы правильным