pytest之执行测试文件常用方法

1.在第一个(或N个)失败后停止

example 文件: test_fail.py

def func(x):
    return x + 2


def test_anwser():		# pass
    assert func(3) == 5


class TestMyClass:
    def test_one(self):		#fail
        x = "this"
        assert "hss" in x

    def test_two(self):		#fail
        x = "hello"
        assert x in 'wqewqeq'

    def test_three(self):	
        x = "this"
        assert "h123123" in x


    def test_four(self):
        x = "this"
        assert "h" in x
  • pytest --maxfail=2 test_fail.py 达到第二个失败的时候停止
    -如文件 test_fail.py,执行后两个失败一个成功。执行到第二个失败会终止。不会到执行方法test_three

2.执行文件、文件夹

  • pytest test_mod.py 执行该模块下的测试类测试方法
  • pytest testing 执行该文件夹下的所有模块

3.通过关键字表达式运行测试

  • pytest -k "MyClass and not one" test_fail.py

    • 必须是双引号
    • and是并且的意思
    • 执行test_fail.py文件内的TestMyClass类下面除了one的所有方法(two、three、four)
  • pytest -k "MyClass or anwser" test_fail.py

    • 执行test_fail.py文件内的所有方法

4.执行特定方法

  • pytest test_cgi.py::test_answer,执行test_answer方法
  • pytest test_cgi.py::TestMyClass::test_one,执行TestMyClass类下的test_one方法

5.查看详细的输出

  • -r随意拼接下方字符
  • 如 -rfs(查看失败和跳过的测试)、-rs(查看跳过的测试)

这是可以使用的可用字符的完整列表:

  • f -失败
  • E -错误
  • s -跳过
  • x -xfailed
  • X -xpass
  • p -通过
  • P -通过输出
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
pytest是一个Python测试框架,它提供了一组简单而强大的功能,使编写和执行测试变得更加容易。在本文中,我将为您介绍如何使用pytest进行自动测试。 安装pytest 在开始之前,您需要安装pytest。使用pip命令可以轻松安装pytest: ``` pip install pytest ``` 编写测试用例 pytest测试用例文件以`test_*.py`或`*_test.py`命名,其中`*`可以是任何字符串。在测试文件中,您可以编写多个测试用例函数。每个测试用例函数都应该以`test_`开头,以便pytest能够识别它们并自动运行它们。 例如,下面是一个简单的`test_calc.py`测试文件: ```python def add(x, y): return x + y def test_add(): assert add(2, 3) == 5 assert add(0, 0) == 0 assert add(-1, 1) == 0 ``` 这里我们定义一个简单的`add()`函数,然后编写了一个测试用例函数`test_add()`来测试该函数的功能。 运行测试 要运行测试,只需在终端中运行pytest命令,并指定测试文件的路径: ``` pytest test_calc.py ``` 如果没有错误,pytest将显示测试结果的摘要: ``` ============================== test session starts ============================== platform win32 -- Python 3.7.6, pytest-6.2.2, py-1.10.0, pluggy-0.13.1 rootdir: D:\pytest_demo collected 1 item test_calc.py . [100%] =============================== 1 passed in 0.02s =============================== ``` 这里我们只有一个测试文件pytest会自动找到并运行它。如果有多个测试文件pytest将依次运行它们。 在测试结果中,`. `表示测试用例通过,`F`表示测试用例失败。 编写更复杂的测试用例 pytest提供了各种工具和插件来编写更复杂的测试用例。以下是一些常用的工具和插件: - `assert`语句:在测试用例中使用`assert`语句来检查预期结果和实际结果是否相等。如果不相等,assert语句会引发异常并导致测试用例失败。 - 参数化:使用`@pytest.mark.parametrize`装饰器来对测试用例函数进行参数化。这样,pytest将自动为每个参数组合运行测试用例函数,从而减少编写重复测试用例函数的工作。 - Fixture:使用`fixture`来管理测试用例的前置条件和后置条件。`fixture`可以在测试用例函数中使用,或者在`conftest.py`文件中定义全局fixture。 - Mock:使用`mock`来模拟依赖项或隔离测试用例。pytest-mock插件提供了方便的mock功能。 - Coverage:使用coverage.py来衡量测试覆盖率。pytest-cov插件提供了方便的测试覆盖率报告。 总结 在本文中,我们介绍了如何使用pytest进行自动测试pytest是一个非常灵活和强大的测试框架,可以满足各种测试需求。使用pytest,您可以轻松编写和运行测试用例,并获得有关测试覆盖率和结果的详细报告。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值