py.test에 특정 디렉토리를 건너 뛰도록 지시하는 방법은 무엇입니까?


91

norecursedirssetup.cfg 내부 의 옵션 을 사용하여 py.test에 특정 디렉터리에서 테스트를 수집하지 않도록 지시했지만 무시하는 것 같습니다.

[tool:pytest]
norecursedirs=lib/third

실행하면 py.test내부에서 테스트를받는 방법을 알 수 있습니다 lib/third!


내가 가지고있는 것 같습니다 py.testpytest둘 다 테스트 및 인 다른 짐승을 러닝. 이상하지만 pytest에서 제외 항목을로드하지 않기 때문에 실패한 것입니다 [pytest].
소린

1
pytestlogilab에서 왔습니다. 당신은 원합니다 py.test.
ecatmur

3
또한 시도해보십시오nosecuredirs=lib/third/*
intelis

코드로 스크립트 자체의 일부 폴더를 무시하는 방법이 있습니까?
bicepjai

2
로컬 개발에서 내 웹 앱의 pytest가 왜 그렇게 느린 지 궁금했기 때문에 여기에 올랐습니다. 그 이유는 중첩 된 yy / dd / mm 구조를 가진 업로드 된 리소스 디렉토리였습니다 .... 정말 짜증나 네요! 고맙게도 [pytest] norecursedirs = resources에서 pytest.ini트릭을 수행하는 것은 💪!
andilabs

답변:


85

py.test --ignore=somedir 나를 위해 일했다


5
그리고 --ignore여러 디렉토리를 무시하도록 여러 번 지정할 수 있습니다
피닉스

어떻게 대신 디렉토리의 특정 검사를 생략합니다
라자 자이나교

-k아래의 다른 답변으로 옵션을 사용할 수 있습니다 . docs.pytest.org/en/latest/…에서 "키워드 표현식으로 테스트 실행"을 참조하십시오 . 여기에서도 마크가 도움이 될 수 있습니다. 테스트를 "느림"등으로 표시 한 다음 사용-k "not slow"
shadfc

Unix 셸 스타일 와일드 카드를 기반으로하는 테스트 파일 경로를 무시하는 데 사용할--ignore-glob 수도 있습니다 . 예를 들어 --ignore-glob=**/sandbox/*모든 sandbox폴더의 모든 파일을 무시 합니다.
1 월 M.

28

상위가 다른 여러 디렉토리가있는 경우 다른 --ignore매개 변수를 지정할 수 있습니다 .

py.test --ignore=somedir --ignore=otherdir --ignore=etcdir

  • 새 옵션 : --ignore는 수집에서 지정된 경로를 방지합니다.
    여러 번 지정할 수 있습니다.

23

나는 신비를 해결하십시오 pytest 섹션이 가능한 구성 파일 중 하나에서 발견 (경우 pytest.ini, tox.inisetup.cfg), pytest 그래서 당신이 하나의 파일에 py.test 옵션을 정의 할 수있는 다른 사람을 위해 보이지 않는 것입니다.

사용하는 것이 좋습니다 setup.cfg.


8
setup.cfg? 현재 문서 는 다른 두 가지
jebob

.ini파일 을 사용 하려면 .NET으로 지정해야 한다는 점을 언급하는 것이 중요하다고 생각합니다 pytest -c pytest.ini. 어떤 이유로 setup.cfg콘텐츠가 자동으로 선택되었습니다.
therightstuff


11

norecursedirs작동해야합니다. pytest.ini 또는 기타 setup.cfg 파일이 있는지 확인하십시오. 어떻게 호출 py.test합니까?


1
내가해야합니까 setup.cfg적절한으로 [pytest]내부와 norecorsedirs하지만 무시하는 것, 그리고 대신 모든 파일을 찾을 것입니다.
sorin 2015-04-18

8

제 경우 문제는 누락 된 와일드 카드였습니다. 다음은 나를 위해 작동합니다.

[tool:pytest]
norecursedirs = subpath/*

하지만 norecursedirs = subpath그렇지 않았습니다.


여기도 마찬가지입니다. 그래도 아주 이상한 행동.
azmeuk


0

사용하려면 pytest.ini(사용하지 않는 한, 추천 tox이 경우 tox.ini이해 것), 전화 pytestpytest -c pytest.ini.

내 샘플 not_me_1.pynot_me_2.py테스트 또는 보풀 을 방지하기 위해 pytest.ini다음과 같습니다.

[pytest]
addopts = --ignore-glob=not_me_*

[pycodestyle]
ignore = not_me_* ALL

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.