2016-10-19 8 views
0

나는 많은 테스트 케이스를 가지고있다. 픽스처가 커맨드 라인 매개 변수를 기반으로 테스트 케이스를 선택적으로 생성하기를 원합니다. 나는 헛되이 두 가지 방법을 시도했다.pytest : 커맨드 라인 인자를 기반으로 조명기를 매개 변수화하는 방법?

매개 변수 장식물 데코레이터에 대한 인수 사용 : '요청'컨텍스트에 대한 액세스 권한이 없습니다. pytest_generate_tests를 (사용

) : 나는 metafunc 개체 컨텍스트를 사용하여 명령 줄 인수를 가져오고 this 같은 테스트를 parametrise 할 수있는기구를 만들 수 있습니다. 하지만, 나는 pytest_generate_tests()가 모든 테스트에 대해 실행되며 조명기가있는 전체 지점이 손실된다는 것에 우려하고 있습니다. 이 경우인가요?

저는 pytest에 약간 새로운 기능이므로 제대로 프레임 워크를 사용하지 못할 수 있습니다. 그래서 저는이 일을하는 다른 방법에 대해서 열려 있습니다. 기본적으로 커맨드 라인 인수에 기반한 테스트를 매개 변수화하고 싶습니다.

답변

0

당신이

def pytest_cmdline_main(config): 
    option = config.getoption('--your-option') 
    if option: 
     # use the option to modify fixture data 

pytest_generate_tests 같은 pytest_cmdline_main를 사용하면 즉석에서 고정 값을 생성하는 데 유용합니다.