.ini 파일 KeyError 해결 방법

config.ini와 같이 .ini 파일로 데이터베이스 환경변수를 관리하여 unittest를 하던 중, 위와 같이 KeyError가 발생하며 값을 읽어오지 못하는 일이 발생하였다.

원인

원인은 config.ini의 경로를 ../config.ini로 지정하고, basedir를 지정해주지않아서 실행하는 디렉토리에 따라 경로가 달라져 못 읽어오는 것 이었다. 

 

해결방법

config.ini를 불러오는 코드의 윗 줄에 아래와 같이 basedir를 지정해주는 코드를 추가하면 정상적으로 test가 실행됨을 볼 수 있다.

basedir = os.path.dirname(os.path.abspath(__file__))
os.chdir(basedir)

config = configparser.ConfigParser()
config.read('../config.ini')