생성됩니다. 내가 그것을 분리하고 if __name__ == "__main__"
없이 실행하면 정상적으로 작동합니다. 왜 전달 된 논증을 unittest에 적용하려고합니까? 내 코드에서 String으로 필요합니다.파이썬 유닛 테스트를 통과하지 않는 매개 변수
-1
A
답변
1
python myfile.py -b firefox
와 스크립트를 호출하면 실제로 유닛 테스트로 이동, 그리고 당신의 인수 파서 않습니다.
유닛 테스트는, 예를 들어, 당신이 준 인수를 구문 분석을 시도 이 같은 스크립트를 호출하는 경우 : (? 내가 억제 추측) 표준 출력/표준 에러를 버퍼링 할 도움말 출력 -b
보면
Usage: myfile.py [options] [test] [...]
Options:
-h, --help Show this message
-v, --verbose Verbose output
-q, --quiet Minimal output
-f, --failfast Stop on first failure
-c, --catch Catch control-C and display results
-b, --buffer Buffer stdout and stderr during test runs
Examples:
parse.py - run default set of tests
parse.py MyTestSuite - run suite 'MyTestSuite'
parse.py MyTestCase.testSomething - run MyTestCase.testSomething
parse.py MyTestCase - run all 'test*' test methods
in MyTestCase
:
python myfile.py --help
을 당신은 유효한 옵션을 참조하십시오. 인수 firefox
은 모듈에서 실행할 테스트의 이름으로 사용됩니다. 그리고이 오류 출력, 기존의 어떤 기능 method
없다 :
AttributeError: 'module' object has no attribute 'firefox'
지금, 당신이 아마하고 싶은 것은 test_parser
를 호출하는 것입니다, 당신은 python myfile.py WebuiSeleniumTest.test_parser
와 함께 다음 추가 인수를 전달할 수 없습니다 그렇게합니다. 그리고 그것은 아마도 결국 당신의 질문 일 것입니다. 단위 테스트로 argparse를 테스트하기위한 몇 가지 가능한 솔루션을 제공하는 this question이 있습니다.
위대한 대답은 내 질문에 답할뿐만 아니라 내가 잘못 나온 곳을 가르쳐주었습니다. 정확히 내가 무엇을 찾고 있었는지. 고맙습니다. 좋은 주말 보내세요! – thraizz