Pytest 에서 conftest.py 의 용법
4426 단어 Pytestconftest.py
앞서 fixture 를 소개 한 글 에서 conftest.py 파일 을 사 용 했 습 니 다.그렇다면 conftest.py 파일 은 어떻게 사용 해 야 하 는 지,conftest.py 파일 의 특징 과 사용 방법 을 자세히 알 아 보 겠 습 니 다.
conftest.py 가 뭐야?
우 리 는 이전에 fixture 를 알 고 있 었 습 니 다.fixture 는 테스트 스 크 립 트 에 직접 정의 할 수 있 습 니 다.그러나 어떤 때 는 fixture 가 재 활용 되 기 를 바 랍 니 다.이 는 fixture 에 대해 집중 적 으로 관리 해 야 합 니 다.Pytest 는 파일
conftest.py
을 사용 하여 펌웨어 를 집중 적 으로 관리 해 야 합 니 다.복잡 한 프로젝트 에서 서로 다른 디 렉 터 리 등급 에서 conftest.py 를 정의 할 수 있 습 니 다.그 역할 도 메 인 은 그 가 있 는 디 렉 터 리 와 하위 디 렉 터통상 적 으로conftest.py
와@pytest.fixture()
는 결합 하여 사용 하여 전체적인 전후 처 리 를 실현 한다.conftest.py 특징
conftest.py
파일 의 이름 은 고정 되 어 수정 할 수 없습니다conftest.py
실행 사례 와 같은 pakage 에서__init__.py
파일import
파일 을 가 져 올 필요 가 없습니다.pytest 는 예회 로 이 파일 을 자동 으로 식별 합 니 다.루트 디 렉 터 리 에 놓 으 면 전체 디 렉 터 리 에서 호출 할 수 있 습 니 다.특정한 package 에 놓 으 면 이 package 에서 유효 합 니 다conftest.py
conftest.py
안의 모든 fixture 를 읽 습 니 다.같은 디 렉 터 리 테스트 파일 이 실행 되 기 전에conftest.py
파일conftest.py 용법
실제 테스트 에서 conftest.py 파일 은 fixture 와 결합 하여 사용 해 야 하기 때문에 fixture 에서 매개 변수 scope 도 conftest.py 에서 fixture 의 특성 을 적용 합 니 다.여기 서 다시 설명 하 겠 습 니 다.
conftest.py
파일 의 fixture 를 실행 합 니 다.conftest.py
파일 의 fixtureconftest.py
파일 의 fixtureconftest.py
파일 의 fixtureconftest.py 실제 사례
우 리 는 이러한 디 렉 터 리 에 따라 항목 을 새로 만 들 었 다.
루트 디 렉 터 리 conftestdemo 아래
루트 디 렉 터 리 에 있 는 conftest.py 파일 에 서 는 로그 인 같은 전역 fixture 를 씁 니 다.
conftest.py
import pytest
@pytest.fixture(scope="session")
def login():
print("*** , ***")
name = "rockche"
yield name
print("*** ***")
@pytest.fixture(autouse=True)
def get_name(login):
name = login
print(f"-- fixiture: name:{name}--")
루트 디 렉 터 리 의 테스트 용례test_1.py
def test_get_name(login):
name = login
print("*** : name***")
print(f" :{name}")
conftestdemo 의 모든 용례 를 실행 합 니 다.run.py
import pytest
if __name__ == '__main__':
pytest.main(["-s", "../conftestdemo/"])
test_baidu 디 렉 터 리 아래baidu 사이트 에 대한 테스트 용례 만 의 fixture 설정
conftest.py
import pytest
@pytest.fixture(scope="module")
def open_baidu(login):
name = login
print(f" {name} baidu")
test_case1.py
def test_case2_01(open_baidu):
print(" pytest")
def test_case2_02(open_baidu):
print(" ")
test_cnblogs 디 렉 터 리 아래파일 도 없고 conftest.py 파일 도 없습니다.
test_case1.py
def test_no_fixture(login):
print(" __init__ , cnblogs", login)
test_목록taobao 사이트 에 대한 테스트 용례 만 의 fixture 설정
conftest.py
import pytest
@pytest.fixture(scope="function")
def open_taobao(login):
name = login
print(f" {name} ")
test_case1.py
class TestTaobao:
def test_case1_01(self, open_taobao):
print(" ")
def test_case1_02(self, open_taobao):
print(" ")
run.py 실행Pytest 에서 conftest.py 의 용법 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 Pytest conftest.py 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Pytest 에서 conftest.py 의 용법우 리 는 이전에 fixture 를 알 고 있 었 습 니 다.fixture 는 테스트 스 크 립 트 에 직접 정의 할 수 있 습 니 다.그러나 어떤 때 는 fixture 가 재 활용 되 기 를 바 랍 니 다.이 는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.