Python 단위 테스트에 pytest를 사용하는 방법
소개:
단위 테스트는 소프트웨어 개발에 없어서는 안 될 작업입니다. 이는 코드의 품질과 안정성을 보장하는 데 도움이 됩니다. Python에서 pytest는 강력하고 사용하기 쉬운 단위 테스트 프레임워크입니다. 이 기사에서는 Python 단위 테스트에 pytest를 사용하는 방법을 소개합니다.
1. pytest 설치
먼저 pytest를 설치해야 합니다. 설치는 pip 명령을 사용하여 쉽게 완료할 수 있습니다:
pip install pytest
2. 테스트 케이스 작성
다음으로 테스트 케이스를 작성해야 합니다. 테스트 케이스는 테스트 중인 코드의 기능을 확인하는 코드 블록입니다.
예:
덧셈, 뺄셈, 곱셈, 나눗셈의 네 가지 연산이 포함된 간단한 계산기 모듈을 테스트한다고 가정해 보겠습니다. 테스트 케이스의 코드를 저장하기 위해 프로젝트에 test_calculator.py
라는 파일을 생성할 수 있습니다. 다음은 테스트 사례 예시의 코드입니다. test_calculator.py
的文件,用于存放测试用例的代码。以下是一个示例测试用例的代码:
# test_calculator.py from calculator import add, subtract, multiply, divide def test_add(): assert add(2, 3) == 5 def test_subtract(): assert subtract(5, 3) == 2 def test_multiply(): assert multiply(2, 3) == 6 def test_divide(): assert divide(6, 3) == 2
在上述代码中,我们使用了pytest框架提供的assert
语句来断言测试结果是否符合预期。
三、运行测试用例
完成测试用例的编写后,我们可以使用pytest来运行这些测试用例。
在命令行中进入项目目录,输入以下命令进行测试:
pytest
pytest会自动查找项目中的测试用例并运行。
运行结果示例:
============================= test session starts ============================== platform darwin -- Python 3.9.0, pytest-6.2.2, py-1.10.0, pluggy-0.13.1 rootdir: /path/to/project collected 4 items test_calculator.py .... [100%] ============================== 4 passed in 0.02s ===============================
上述结果说明我们编写的4个测试用例全部通过了测试。
四、高级用法
示例:
import pytest @pytest.mark.parametrize( "a, b, expected", [ (2, 3, 5), (-1, 1, 0), (0, 0, 0), ], ) def test_add(a, b, expected): assert add(a, b) == expected
上述代码中,我们使用@pytest.mark.parametrize装饰器来参数化测试用例。每组参数都会被自动传递给被测试的函数,并进行断言判断。
setup
和teardown
等装饰器来实现这些操作。示例:
@pytest.fixture(autouse=True) def setup_and_teardown(): # 在测试用例运行之前的准备工作 print("准备工作") yield # 在测试用例运行之后的清理工作 print("清理工作")
在上述示例中,我们使用setup_and_teardown
装饰器来定义一个前置和后置操作的函数。使用yield
rrreee
assert
문을 사용하여 테스트 결과가 예상한 것과 같은지 여부를 확인합니다.
3. 테스트 케이스 실행
setup
및 teardown
과 같은 데코레이터를 제공합니다. setup_and_teardown
데코레이터를 사용하여 사전 및 사후 작업이 포함된 함수를 정의했습니다. 함수가 정의된 위치에 테스트 케이스를 삽입하려면 yield
키워드를 사용하세요. 🎜🎜결론: 🎜이 문서에서는 Python 단위 테스트에 pytest를 사용하는 방법을 설명합니다. pytest를 사용하면 pytest 설치, 테스트 케이스 작성, 테스트 케이스 실행 및 고급 사용법을 통해 쉽게 코드 테스트를 수행할 수 있습니다. 이 기사가 소프트웨어 개발의 단위 테스트 작업에 도움이 되기를 바랍니다. 🎜위 내용은 Python 단위 테스트에 pytest를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!