2016-08-31 3 views
8

$HOME 폴더에 구성 파일을 생성하고 격리 된 환경에서 테스트를 실행하는 생산적인 코드가 conftest.py$HOME에 있습니다. 아직도이 기능이 일반적으로 작동하고 어쩌면 필연적 인 필기 테스트 기능이 중단 될지 확실하지 않습니다.pytest 테스트 스위트를 실행할 때 초기 및 최종 검사

내 테스트 스위트의 유효성을 보장하기 위해 각 파일의 예비 검사를 $HOME에 실행하고 테스트 스위트를 실행 한 후 최종 점검을 실행하고 싶습니다.

pytest의 "공식적인"수단으로 어떻게이 작업을 수행 할 수 있습니까? 나는 일하는 더러운 해킹을 가지고 있지만보고를 엉망으로 만든다.

pytest에 대해 자세히 알고 싶습니다. 내 테스트 스위트가 지금 올바른데이 질문은 호기심에서 벗어났습니다.


추가 : 같은 질문,하지만 서로 다른 사용 사례 : 나는 제 3 자 플러그인 버전 requierement을 fullfills 있는지 확인하고 싶습니다. 그렇지 않은 경우 메시지를 표시하고 py.test를 중단하고 싶습니다.

+0

테스트를 실행할 때'$ HOME' 환경 변수를 설정해 보셨습니까? 다른 운영 체제에서이 작업을 수행하는 방법에 대한 지침 – Av4t4r

+0

예, 이것은 이미 수행 한 작업입니다. 여전히 나는 이것을 피할 수있는 잘못된 테스트 기능을 가지고 있었고 나의 의도는 내 테스트 스위트 자체가 올바른지 확인하는 추가적인 "메타"테스트를 구현하는 것이다. 필자의 질문은'pytest'의 기능에 대해 더 많은 것을 배울 수 있다는 것입니다. – rocksportrocker

답변

1

세션 스코어 픽스처를 작성한 것으로 생각하십니까? 같은 : 다른기구의 모든 global_check에서 상속하는 경우, 다음 initial_condition은 테스트 실행의 모든 ​​및 final_condition의 시작 부분에 주장한다

@pytest.fixture(scope="session") 
def global_check(request): 
    assert initial_condition 

    def final_check(request): 
     assert final_condition 

    request.addfinalizer(final_check) 

    return request 

은 테스트 실행의 끝에서 주장한다.

+1

나는 이런 식으로 시도했지만 처음에는 하나의 메시지 + 정지 대신 실패한 테스트 기능의 긴 목록을 가진 보고서를 얻었다. 나는이 접근법을'autotest = True'로 확장하여이 조명기로부터 상속받을 필요가 없었습니다. – rocksportrocker

+0

충분합니다. 다음은 흥미로운 접근 방식입니다. http://stackoverflow.com/a/9122053/324449 –

관련 문제