[Python] 디버그 시에만 동작하도록 하는 코드 짜기 Develop Tip

코딩을 하면서 제일 중요한 것은 테스트 입니다.

해당 기능을 UnitTest 모듈을 이용해서 잘 하고 있는데,
어느날 어느 경우에 PyCharm의 디버그 모드에서는 잘 동작하는데,
setup.py 로 test 시에는 동작을 제대로 안하는 경우가 생겼습니다.
원인은 아직 파악하지 못했지만,
코드에서 디버그 모드일 때와 그냥 돌렸을 때의 경우에 따라
코드를 구분하고 싶어졌습니다.

결론은 다음과 같이 하면 됩니다.

        ...
        sg = sys.gettrace()  # 디버그는 괜찮지만 실제 build.bat 에서는 오류 발생 때문
        if sg is None:  # Not in debug mode
            print('Skip testing at test/build time')
            return
        # In debug mode
        ...

PyCharm 에서도 잘 되었습니다.


어느 분께는 도움이 되셨기를 ..

덧글

댓글 입력 영역

구글애드텍스트