[python] py.test 테스트를 실행하도록 PyCharm을 어떻게 구성합니까?

파이썬 코드에 대한 단위 테스트 작성을 시작하고 싶습니다 .py.test 프레임 워크는 Python의 번들 unittest 보다 나은 방법으로 들립니다 . 프로젝트에 “tests”디렉토리를 추가하고 test_sample.py 를 추가 했습니다. 이제 “tests”디렉토리에서 모든 테스트를 실행하도록 PyCharm을 구성하려고합니다.

PyCharm 은 테스트 러너에서 py.test지원 한다고 합니다 . 테스트를 실행하기 위해 실행 / 디버그 구성생성 할 수 있어야 하며 PyCharm에는 py.test 전용 “구성 생성”대화 상자 가 있다고 합니다. 그러나 그것은 주제에 대한 문서의 전체 범위이며,이 주장 된 대화 상자를 어디에서도 찾을 수 없습니다.

내가 프로젝트 도구 창에서 디렉터리를 마우스 오른쪽 단추로 클릭하면 내가있어 가정 에 “만들기 <이름>”메뉴 항목을 볼 수 있지만, 유일한 메뉴 항목은 “실행 구성 만들기”는 “만들기”로 시작. 아마도 문서가 잘못되었을 수도 있고 “실행 구성 만들기”가 유망한 것처럼 들립니다. 불행히도, 하위 메뉴의 유일한 두 항목은 “C : \ mypath …의 Unittests”와 “C : \ mypath …의 Doctests”입니다. py.test에 대한 메뉴 항목이 없습니다.

test_sample.py를 열고 편집기 창에서 마우스 오른쪽 버튼을 클릭하면 “Create <name>”메뉴 항목이 약속됩니다. “test_sa에서 ‘Unittests 만들기 …’…”와 “Run ‘test_sa에서 단위 테스트 …’ ‘및’ ‘test_sa에서 단위 테스트 …’디버그. 다시 말하지만, 이는 모두 단위 테스트 프레임 워크에 고유합니다. py.test에는 없습니다.

“unittest”라는 메뉴 항목을 시도하면 “이름”, “유형”, “폴더”및 “패턴”이있는 “테스트”그룹 상자 및 “스크립트”및 “클래스”에 대한 옵션이있는 대화 상자가 나타납니다. “및”함수 “등. 이는 Python Unit Test에 대한 구성 을 추가하기 위한 대화 상자로 문서화 된 것과 정확히 같 으며”이름 “및”테스트 실행 “및”키워드 “옵션과는 다릅니다. 에서 py.test에 대한 구성 대화 상자를 표시합니다. 대화 상자 안에 추가 할 테스트 프레임 워크를 전환하는 것은 없습니다.

Python 3.1.3 및 pytest 2.0.3이 설치된 Windows에서 PyCharm 1.5.2를 사용하고 있습니다. py.test명령 줄에서 테스트를 성공적으로 실행할 수 있으므로 pytest가 올바르게 설치되지 않는 것과 같은 간단한 것은 아닙니다.

py.test 테스트를 실행하도록 PyCharm을 어떻게 구성합니까?



답변

파일 | 설정 | 도구 | Python 통합 도구 및 기본 테스트 실행기를 py.test로 변경하십시오. 그런 다음 py.test 옵션을 사용하여 단위 테스트 대신 테스트를 만듭니다.


답변

PyCharm 2017.3

  1. Preference -> Tools -> Python integrated Tools– 선택 py.test으로 Default test runner.
  2. Django를 사용하는 경우 Preference -> Languages&Frameworks -> Django-눈금을 설정하십시오.Do not use Django Test runner
  3. 에서 기존의 모든 테스트 구성을 Run/Debug configuration지우십시오. 그렇지 않으면 이전 구성으로 테스트가 실행됩니다.
  4. 기본 추가 인수를 설정하려면 py.test 기본 구성을 업데이트하십시오. Run/Debug Configuration -> Defaults -> Python tests -> py.test -> Additional Arguments

답변

툴바에서 Run / Debug Configuration 항목을 사용해야한다고 생각합니다. 이를 클릭하고 ‘구성 편집’을 클릭하십시오 (또는 메뉴 항목 Run-> Edit Configurations 사용). 왼쪽 창의 ‘Defaults’섹션에는 원하는 것으로 생각되는 ‘py.test’항목이 있습니다.

또한 매뉴얼이 UI와 일치하지 않는다는 것을 알았습니다. 문제를 올바르게 이해하고 도움이되기를 바랍니다.


답변

다음은 pytest 3.7.2(pip를 통해 설치됨) 및 pycharms에서 작동하게하는 방법입니다 2017.3.

  1. 이동 edit configurations

  1. 새로운 실행 구성을 추가하고 선택 py.test

  1. 실행 구성 세부 사항에서 target= python및 아래의 이름없는 필드 를로 설정해야 합니다 tests. 이것이 테스트 폴더의 이름 인 것 같습니다. 너무 확실하지 않습니다. 또한 -s테스트를 디버그하면 콘솔이 올바르게 작동하도록 인수를 권장합니다 . 인수없이 pytest는 출력을 캡처하고 디버그 콘솔을 버그로 만듭니다.

  1. 내 테스트 폴더는 다음과 같습니다. 이것은 내 프로젝트의 루트 바로 아래에 있습니다 ( my_project/tests).

  1. foobar_test.py파일 : (수입 할 필요 없음) :
데프 test_foobar () :
    print ( "hello pytest")
    주장하다
  1. 일반 실행 명령으로 실행


답변

확실하게 문서화되지 않았습니다. 기본값에서 새 구성을 추가하면 “/ Applications / PyCharm CE.app/Contents/helpers/pycharm/pytestrunner.py”스크립트를 실행하는 영역에있게됩니다. 문서화되어 있지 않으며 명령 줄 인수에 대한 자체 아이디어가 있습니다.

당신은 할 수 있습니다 :

  1. 놀아보고 스크립트를 뒤집어 놓고 어떻게 든 py.test가 인수를 받아 들일 수 있는지 확인하십시오. 작동 할 수도 있습니다. 상반기에는 없었습니다.
  2. 콘솔에서 “py.test * .py”를 실행하십시오.

이상하게도 JetBrains가 자체 페이지로 Google 알고리즘을 폭격시키는 좋은 일을하므로 토론을 찾기가 어려울 것입니다.


답변

동일한 질문에 도달하고 pycharm 버전을 찾았을 때이 스레드를 찾으십시오. 내 문제를 해결


답변

pycharm 2019.2에서는 모든 테스트를 실행하기 위해 간단히이 작업을 수행 할 수 있습니다.

  1. 실행> 구성 편집> pytest 추가
  2. 다음 스크린 샷과 같이 옵션을 설정하십시오
    구성 스크린 샷
  3. 디버그를 클릭하십시오 (또는 단축키 Shift + Alt + F9를 사용하여 pytest를 실행하십시오)

pytest를 pycharm에 더 많이 통합하려면 https://www.jetbrains.com/help/pycharm/pytest.html을 참조 하십시오.