2017-04-02 2 views
1

비 테스트 클래스 내에서 pytest에 전달 된 명령 줄 인수에 액세스하고 싶습니다.Pytest : 테스트 외부에서 명령 줄 인수에 액세스하는 방법

나는 내 conftest.py 파일

def pytest_addoption(parser): # pragma: no cover 
    """Pytest hook to add custom command line option(s).""" 
    group = parser.getgroup("Test", "My test option") 
    group.addoption(
    "--stack", 
    help="stack", metavar="stack", dest='stack', default=None) 

에 다음을 추가 한하지만 명령 행에 전달 된 값에 액세스하는 방법을 작동하지 않을 수 있습니다. Fixture에서 액세스하는 방법에 대한 코드를 찾았지만 테스트 케이스의 일부가 아닌 메서드 나 클래스에서 액세스하려고합니다.

+0

에서 [공식 문서]를 봐 (https://docs.python.org/3.5/library/argparse.html) –

+0

이 좋은 질문이다 (그리고 argparse 관련이 또는 sys.argv 여기에 다른 의견을 생각하는 것 같아요),하지만 나는 [이] (https://stackoverflow.com/q/13275738/3100515) 질문에 답변을 찾았어요 (아니 허용 대답, 다른 하나). – Ajean

답변

0

sys.argv으로 매개 변수에 액세스 할 수 있습니다. 명령 줄을 사용하여 호출 할 때 작성한 모든 arguemnt의 목록을 반환합니다. 예를 들어

def pytest_addoption(parser): # pragma: no cover 
    """Pytest hook to add custom command line option(s).""" 
    params = sys.argv[1:] 
    group = parser.getgroup("Test", "My test option") 
    group.addoption(
    "--stack", 
    help="stack", metavar="stack", dest='stack', default=None) 
관련 문제