programing

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

magicmemo 2023. 6. 5. 23:48
반응형

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

저는 제 파이썬 코드에 대한 단위 테스트를 작성하기 시작하고 싶은데, 파이썬의 번들 단위 테스트보다 py.test 프레임워크가 더 나은 것 같습니다.그래서 "tests" 디렉토리를 프로젝트에 추가하고 test_sample.py를 추가했습니다.이제 "tests" 디렉토리에 있는 모든 테스트를 실행하도록 PyCharm을 구성합니다.

PyCharm은 테스트 러너에서 py.test를 지원한다고 합니다.테스트를 실행하기 위해 실행/디버깅 구성을 만들있어야 하며, PyCharm에는 py.test를 위한 "구성 만들기" 대화 상자가 있다고 합니다.하지만 그것이 그 주제에 대한 그들의 문서의 완전한 범위이고, 저는 이 주장되는 대화상자를 어디에서도 찾을 수 없습니다.

Project 도구 창에서 디렉토리를 마우스 오른쪽 단추로 클릭하면 "Create <name>" 메뉴 항목이 표시되지만 "Create"로 시작하는 메뉴 항목은 "Create Run Configuration"뿐입니다.문서가 잘못되었을 수도 있습니다. "실행 구성 만들기"는 유망하게 들릴 수 있습니다.하위 메뉴에 있는 항목은 "Unittests in C:\mypath..."와 "Doctests in C:\mypath..."뿐입니다. 둘 다 해당되지 않습니다. 저는 Unittest도 doctest도 사용하지 않습니다.py.test에 대한 메뉴 항목이 없습니다.

test_sample.py를 열고 편집기 창에서 마우스 오른쪽 버튼을 클릭하면 약속된 "Create <name>" 메뉴 항목이 나타납니다. "Create 'Unit tests in test_sa..." 다음에 "Run 'Unit tests in tests in tests..."가 표시됩니다."Debug 'Unittests in tests in test_sa...'" 다시 한 번 말씀드리지만, py.test는 해당되지 않습니다.

"unittest"라고 표시된 메뉴 항목을 사용해 보면 "Name", "Type", "Folder", "Pattern", "Script", "Class" 및 "Function" 등이 있는 "Tests" 그룹 상자 옵션이 있는 대화 상자가 나타납니다.이는 Python Unit Test에 대한 구성을 추가하기 위한 대화 상자로 문서화된 내용과 정확히 일치하며, py.test에 대한 구성 대화 상자에 표시되어야 하는 "이름", "실행할 테스트" 및 "키워드" 옵션과는 다릅니다.추가할 테스트 프레임워크를 전환할 수 있는 대화 상자에는 없습니다.

Windows 버전 Python 3.1.3 버전 Pytest 2.0.3 버전 PyCharm 1.5.2 버전.성공적으로 실행할 수 있습니다.py.test명령줄에서 테스트를 수행하므로 파이테스트가 제대로 설치되지 않는 것과 같은 간단한 작업이 아닙니다.

Py.Test 테스트를 실행하도록 PyCharm을 구성하려면 어떻게 해야 합니까?

|| ||로 이동하여 기본 테스트 실행기를 py.test로 변경하십시오.그런 다음 py.test 옵션을 사용하여 단위 테스트 대신 테스트를 생성할 수 있습니다.

PyCharm 2017.3

  1. Preference -> Tools -> Python integrated Tools을 선택합니다.py.test~하듯이Default test runner.
  2. ▁if우는.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 항목을 사용해야 할 것 같습니다.이 아이콘을 클릭하고 '구성 편집'(또는 메뉴 항목 실행->구성 편집)을 사용합니다.왼쪽 창의 'Defaults' 섹션에는 당신이 원하는 'py.test' 항목이 있습니다.

저는 또한 이것에 대한 매뉴얼이 UI와 일치하지 않는다는 것을 발견했습니다.제가 문제를 올바르게 이해했기를 바라며 도움이 되길 바랍니다.

파이테스트로 작동하게 만든 방법은 다음과 같습니다.3.7.2(파이프를 통해 설치됨) 및 파이차트2017.3:

  1. 에 가다edit configurations

  1. 하고 " " " 을 선택합니다.py.test

  1. 세부 에서 실행구세정다설합니다야해정을을 설정해야 .target=python아래의 이름 없는 필드는 다음과 같습니다.tests테스트 폴더의 이름입니다.너무 강하지는 않아요.저는 또한 추천합니다.-s인수를 사용하여 테스트를 디버그하면 콘솔이 올바르게 작동합니다.인수 없이 pytest는 출력을 캡처하고 디버그 콘솔을 버그로 만듭니다.

  1. 제 시험 폴더는 그렇게 생겼습니다.은 제 .my_project/tests).

  1. 나의foobar_test.py파일: (가져올 필요 없음):
defest_foobar():
print (hello pytest")참임 주장
  1. 일반 실행 명령으로 실행

pycharm 2019.2에서는 다음과 같이 모든 테스트를 실행할 수 있습니다.

  1. 실행 > 구성 편집 > 추가 테스트
  2. 다음 스크린샷에 표시된 대로 옵션 설정
  3. Debug(디버깅)를 클릭합니다(또는 단축키 Shift+Alt+F9를 사용하여 pytest 실행).

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

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

할 수 있는 일:

  1. 재생을 시도하고 스크립트를 반대로 하여 py.test를 통해 인수를 수락할 수 있는지 확인합니다.효과가 있을지도 모릅니다. 저는 처음 30분 동안 효과가 없었습니다.
  2. 콘솔에서 "py.test *.py"를 실행하면 됩니다.

이상하게도, 제트브레인이 자체 페이지로 구글 알고리즘을 폭격하는 것을 잘하기 때문에 어떤 논의도 찾기 어려울 것입니다.

동일한 질문을 누르고 솔루션 pycharm 버전을 찾았을 때 이 스레드를 찾습니다. 2017.1.2 "환경설정" -> "도구" -> "Python 통합 도구"로 이동하고 오른쪽 패널에서 기본 테스트 실행기를 py로 설정합니다. test solve my problem.

2018.2를 사용합니다.

실행 -> 구성 편집...그런 다음 모달 대화 상자의 왼쪽 위에 있는 +를 클릭합니다."python tests" -> py.test를 선택한 다음 "All test with py.test"와 같은 이름을 붙입니다.

Target: 모듈 이름을 선택하고 테스트가 있는 모듈(즉, '테스트') 또는 테스트가 코드와 혼합된 경우 모든 코드가 있는 모듈에 넣습니다.이것은 저를 넘어뜨렸습니다.

파이썬 인터프리터를 설정했습니다.

프로젝트 디렉토리에 작업 디렉토리를 설정했습니다.

프로젝트에 대해 파이테스트 사용

  1. 테스트 프레임워크 선택의 설명에 따라 설정/기본 설정 | 도구 | Python 통합 도구 설정 대화 상자를 엽니다.
  2. Default test runner 필드에서 pytest를 선택합니다.
  3. 확인을 클릭하여 설정을 저장합니다.

여기에 이미지 설명 입력

기본 설정 창 열기(Mac의 경우 명령 키 + ","):

Python 기본 설정 링크

1.도구

2. Python 통합 툴

3. 기본 테스트 러너

python 기본 테스트 실행기

py.test를 위한 pip 설치와 스펙 addin(옵션 --spec)의 사용을 포함한 특별한 Conda python 설정으로, 나는 해야만 했습니다. (좋은 테스트 요약 언어와 같은 Rspec의 경우);

1. option= --spec을 포함하도록 기본 py.test를 편집합니다. 즉, 플러그인을 사용합니다. https://github.com/pchomik/pytest-spec

2.py.test를 사용하여 새 테스트 구성을 만듭니다.파이썬 인터프리터를 ~/anaconda/envs/ 당신이 선택한 인터프리터를 사용하도록 변경합니다(예: 내 이름은 epy27).

3. '유닛 테스트' 테스트 구성을 삭제합니다.

4.이제 기본 테스트 구성은 사랑스러운 Rspec 스타일 출력을 사용하는 py.test입니다.나 좋아해여러분 감사합니다.

p.s. Jetbrain의 실행/실행에 관한 문서 구성은 다음과 같습니다. https://www.jetbrains.com/help/pycharm/2016.1/run-debug-configuration-py-test.html?search=py.test

하고 있다는 으로 감지하는 것처럼 할 수 2018.3에서는 Pytest를 사용하고 있다는 것을 자동으로 감지하는 것처럼 보이지만, 이는 좋은 일이지만 여전히 프로젝트의 최상위 수준에서 실행할 수 없습니다.는 뛰어야만 .pytest 자의에 tests디렉토리를 개별적으로 지정합니다.

그러나 구성 중 하나를 선택하고 수동으로 편집하여 프로젝트의 루트에서 실행할 수 있으며 이 작업이 효과적이라는 것을 알게 되었습니다.구성 드롭다운에서 수동으로 선택해야 합니다. 프로젝트 창에서 루트 폴더를 마우스 오른쪽 단추로 클릭할 수 없습니다.하지만 적어도 한 번에 모든 테스트를 실행할 수 있습니다.

PyCharm 문서인 Run/Debug Configuration: pytest는 2020년 9월 현재 제공되고 있습니다.

여기에 이미지 설명 입력

저는 약간 다른 사례를 발견했지만 같은 오류를 발견했습니다(이미 수정했기 때문에 여기서 오류를 지나칠 수 없습니다).

당신이 정말로 가지고 있는지 확인하세요.pytestVENV 내부에 설치됩니다.있습니다pytest전 세계적으로 설치되어 있어서 혼란스럽습니다.

Pip이 이미 설치되어 있다고 표시하는 경우 Pip의 종류(전역 Pip 또는 venv의 Pip)를 확인합니다.

which pythonpython.venv python의 .그리고나서python -m pip install pytest

다음 솔루션에 대한 도움말:

  1. 구성 설정으로 이동
  2. 새 구성 추가
  3. 이전 구성 삭제

언급URL : https://stackoverflow.com/questions/6397063/how-do-i-configure-pycharm-to-run-py-test-tests

반응형