2017-10-02 1 views
0

제 프로젝트에 대해 (내가 알 수있는 한) Raspberry Pi 특정 라이브러리 (smbus)를 사용하고 있습니다. pytest를 사용하여 내 컴퓨터와 gitlab-ci로 소프트웨어를 테스트하고 싶습니다. 문제는 아니지만 숙제가 아닌 클럽 프로젝트를위한 것입니다.pytest는 가져 오기 종속성을 무시할 수 있습니까? 나는 단위 테스트 Pi 코드를 원합니다

내 환경에 대한 설명 :

내 개발 환경에 우분투 17.04/PyCharm을 사용하고 있습니다. 내가 액세스 할 수있는 gitlab 러너는 docker 기반 (환경을 선택)입니다.

위의 두 가지 모두 smbus 또는 i2c 통신 기능이 없습니다.

pytest에게 임포트 주변의 try/except를 추가하지 않고 smbus 임포트를 무시할 수 있는지 궁금합니다.

감사합니다.

+0

'시도'/ '예외'에 대해 나쁜 점이 있습니까? –

답변

0

당신이 정말로 당신이 함수 가져 오기를 반환 할 수 있었던 try/accept ... 이것은 당신에게 쉽게와 get_smbus 기능을 덮어 모의 라이브러리를 사용 할 수있는 기능을 제공

def get_smbus(): 
    import smbus 
    return smbus 

smbus = get_smbus() 

을 피하십시오.

개인적으로는 try/except을 사용하고 ImportError을 잡습니다.

+0

감사합니다. 방금 try/except가 나쁜 습관이라고 가정했습니다. –

+0

except 예외는 실제로 예외적 인 예외를 잡는 한 실제로 실제로 좋은 연습입니다. 모든 오류를 포착하고이를 무시하는 것은 나쁜 습관입니다. – Shadow