py.test를 사용하여 테스트를 비활성화하려면 어떻게합니까?
여러 테스트가 있다고 가정 해 보겠습니다.
def test_func_one():
...
def test_func_two():
...
def test_func_three():
...
py.test가 해당 테스트를 실행하지 못하도록 방지하기 위해 함수에 추가 할 수있는 데코레이터 또는 유사한 것이 있습니까? 결과는 다음과 같을 수 있습니다.
@pytest.disable()
def test_func_one():
...
def test_func_two():
...
def test_func_three():
...
py.test 문서에서 이와 같은 것을 검색했지만 여기에 뭔가 빠진 것 같습니다.
Pytest에는 여기 문서 에서 찾을 수있는 Python unittest 모듈 ( skip
및 사용) 과 유사한 skip 및 skipif 데코레이터가 있습니다 .skipIf
링크의 예는 여기에서 찾을 수 있습니다.
@pytest.mark.skip(reason="no way of currently testing this")
def test_the_unknown():
...
import sys
@pytest.mark.skipif(sys.version_info < (3,3),
reason="requires python3.3")
def test_function():
...
첫 번째 예는 항상 테스트를 건너 뛰고 두 번째 예에서는 조건부로 테스트를 건너 뛸 수 있습니다 (테스트가 플랫폼, 실행 가능 버전 또는 선택적 라이브러리에 따라 달라지는 경우 유용합니다.
예를 들어, 누군가가 테스트를 위해 pandas 라이브러리를 설치했는지 확인하고 싶다면.
import sys
try:
import pandas as pd
except ImportError:
pass
@pytest.mark.skipif('pandas' not in sys.modules,
reason="requires the Pandas library")
def test_pandas_function():
...
skip
장식은 일을 할 것입니다 :
@pytest.mark.skip(reason="no way of currently testing this")
def test_func_one():
# ...
( reason
인수는 선택 사항이지만 항상 테스트를 건너 뛰는 이유를 지정하는 것이 좋습니다).
skipif()
특정 조건이 충족되면 테스트를 비활성화 할 수도 있습니다.
이러한 데코레이터는 메서드, 함수 또는 클래스에 적용 할 수 있습니다.
모듈의 모든 테스트 를 건너 뛰 려면 전역 pytestmark
변수를 정의 하십시오.
# test_module.py
pytestmark = pytest.mark.skipif(...)
감가 상각되었는지 확실하지 않지만 pytest.skip
테스트 내 에서 함수 를 사용할 수도 있습니다 .
def test_valid_counting_number():
number = random.randint(1,5)
if number == 5:
pytest.skip('Five is right out')
assert number <= 3
테스트가 실패 할 것으로 의심되는 경우에도 테스트를 실행할 수 있습니다. 이러한 시나리오의 경우 https://docs.pytest.org/en/latest/skipping.html 은 @ pytest.mark.xfail 데코레이터를 사용하도록 제안합니다.
@pytest.mark.xfail
def test_function():
...
In this case, Pytest will still run your test and let you now if it passes or now, but won't complain and break the build.
ReferenceURL : https://stackoverflow.com/questions/38442897/how-do-i-disable-a-test-using-py-test
'UFO ET IT' 카테고리의 다른 글
Postman 클라이언트를 사용하여 Twitter API를 호출하는 방법 (0) | 2021.01.13 |
---|---|
Tensorflow의 그래프에있는 텐서 이름 목록 (0) | 2021.01.13 |
Angular 4 반응 형으로 잘못된 컨트롤을 찾는 방법 (0) | 2021.01.13 |
RxJs 6 및 Angular 6에서 Observable.of를 사용할 수 없습니다. (0) | 2021.01.13 |
릴리스 빌드에서 assert ()를 사용할 때 사용하지 않는 변수 경고 방지 (0) | 2021.01.13 |