新增文件名:test_06_nodeid.py ,代码如下: import pytest def test_one(): print("test_one") assert 1 == 2 class TestNode(object): def test_one(self): print("TestNode::test_one") assert 1 # 这里是参数化 # 循环执行2次,第一遍取 x=1,y=1;第2次 x=3,y=4 @pytest.mark.parametrize('x,y', [(1, 1), (3, 4)]) def test_two(self, x, y): print(f'TestNode::test_two::{x} == {y}') assert x == y # 1.在文件目录下,指定 函数名 test_one 执行 # pytest -q -s.\test_06_nodeid.py::test_one # 2.在文件目录下,指定 类名+函数名 test_one 执行 # pytest -q -s.\test_06_nodeid.py::TestNode::test_one # 3.在文件目录下,指定 类名+函数名 test_two 执行 # pytest -q -s.\test_06_nodeid.py::TestNode::test_two # 3.1这里可以使用 --collect-only 查看用例名称,注意,这2个参数没有空格 # pytest -q -s --collect-only .\test_06_nodeid.py::TestNode::test_two # 输出: # test_06_nodeid.py::TestNode::test_two[1-1] # test_06_nodeid.py::TestNode::test_two[3-4] # 3.2 使用 -k 过滤对应用例 # PS E:\learnPython\01_01_pytest_book> pytest -q -s -k 'one and not Test' .\test_06_nodeid.py # # 4 deselected in 0.01s # PS E:\learnPython\01_01_pytest_book> pytest -q -s -k 'one and not TestNode' .\test_06_nodeid.py # test_one # F # ====================================================== FAILURES ======================================================= # ______________________________________________________ test_one _______________________________________________________ # # def test_one(): # print("test_one") # > assert 1 == 2 # E assert 1 == 2 # # test_06_nodeid.py:6: AssertionError # =============================================== short test summary info =============================================== # FAILED test_06_nodeid.py::test_one - assert 1 == 2 # 1 failed, 3 deselected in 0.24s
pytest学习实践-day10:执行指定的nodeid 的测试用例
于 2024-04-10 15:28:09 首次发布
文章介绍了如何在Python中使用pytest进行单元测试,包括测试函数`test_one`的执行,类`TestNode`及其`test_two`的参数化测试,以及如何通过命令行指定函数和类名执行测试用例并进行断言检查。
摘要由CSDN通过智能技术生成