Ошибка импорта в pytest
Я пытаюсь импортировать файл в текущем каталоге, но я получаю что-то вроде этого
module_not_in_the_pythonpath__
для всех переменных, которые я определил в этом файле.
я добавил путь
C:/Project/main_test_folder
в пути питона
Моя структура каталогов такая.
main_test_folder
test_folder1 //working fine here
__init__.py
Constants.py
Some test file Constant.py will be imported.
test_folder2 //working fine here
__init__.py
Constants.py
//Some test file Constant.py will be imported.
test_folder3 //for this folder alone its not working
__init__.py
Constants.py
Common.py //Constant.py is imported in this(not working)
Testcase.py
//Some more test file ,Constant.py,Common.py will be imported in each file.
Common.py
from constants import *
class Payload(object):
def __init__(self, params):
'''
Constructor
'''
@staticmethod
def createPayLoad(Name,model): //NAME and MODEL Defined in constants.py
PAYLOAD_PROFILE={
NAME: Name,
MODEL: model,
}
return PAYLOAD
Testcase.py
from common import * //this line is not working
from constants import *
Ошибка:
test_folder3\test_01_rename.py:15: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ @staticmethod def
createPayLoad(Name, model): PAYLOAD={ > NAME: Name,MODEL: model} E NameError: global
name 'NAME' is not defined test_folder3\common .py:34: NameError</failure>
1 ответ
Решение
Это плохая практика - использовать импорт
Вы можете сделать это, если вы установите переменную __ALL__ в файле __init__.py вашего модуля, см.