ptest의 비망록
개요
pytest에 대한 기사는 많지만 좋아하는 것이 없어서 개인용 비망록을 씁니다.
기본적
pytest의 기본 쓰기 방법은 다음과 같다."test main.py"파일에는 "test test1"함수가 있어 테스트할 때 실행됩니다.그중에 assert가 포함되어 있는데, 이것은 테스트할 때 확인해야 할 것이다.
test_main.py
def test_test1():
value1 = "inu"
value2 = "inu"
assert value1 == value2
그런 다음 다음 다음 명령을 입력하면 결과가 표시됩니다.이 때 실행된 함수 이름의 헤더의 물건.> pytest ./test_main.py
여러 테스트 용례 실행
위 함수를 사용하여 여러 테스트 용례를 실행하려면 다음과 같이 수정합니다.명령은 아까와 같다.
test_main.py
import pytest
@pytest.mark.parametrize("value1,value2", [
"inu", "inu",
"inu", "dog",
"dog", "cane",
])
def test_test1(value1, value2):
assert value1 == value2
실행하면 테스트용례 1은 OK지만 나머지는 NG입니다.테스트 시 사전 처리, 사후 처리 수행
테스트에서 전처리, 후처리를 실행할 때 다음과 같은 개조를 진행할 것이다.
test_main.py
import pytest
@pytest.fixture
def fixture1():
print("@fixture1 start")
yield
print("@fixture1 end")
@pytest.fixture
def fixture2():
print("@fixture2 start")
yield
print("@fixture2 end")
@pytest.mark.parametrize("value1,value2", [
"inu", "inu",
"inu", "dog",
"dog", "cane",
])
@pytest.mark.usefixtures("fixture1,fixture2")
def test_test1(value1, value2):
assert value1 == value2
이것도 아래의 기술을 진행할 수 있다.test_main.py
import pytest
@pytest.fixture
def fixture1():
print("@fixture1 start")
yield
print("@fixture1 end")
@pytest.fixture
def fixture2():
print("@fixture2 start")
yield
print("@fixture2 end")
@pytest.mark.parametrize("value1,value2", [
"inu", "inu",
"inu", "dog",
"dog", "cane",
])
def test_test1(value1, value2, fixture1,fixture2):
# この場合、fixture_value = fixture1.getValue()といったよう使用できる。
# これはyieldで値を返していた場合、その値を戻り値として取得することが出来る。
assert value1 == value2
끝말
내가 먼저 썼어.그냥 내 방식대로 찾아봤기 때문에 더 좋은 방법이 있어야 한다고 생각했지만 기록까지 해야 한다고 생각했어요.
참고 자료
Reference
이 문제에 관하여(ptest의 비망록), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/straydog/articles/0f00ea14bcfd1b31a7b4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)