Ошибка импорта в 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 вашего модуля, см.

Другие вопросы по тегам