pytest学习

1. pytest用例规则

  • 测试文件以test_开头(以_test结尾也可以)
  • 测试类以Test开头,并且不能带有 init 方法
  • 测试函数以test_开头
  • 断言使用assert
  • 所有的包package必须要有__init__.py文件

2. 参数化parametrize

pytest.mark.parametrize装饰器可以实现测试用例参数化。

若要获得多个参数化参数的所有组合,可以堆叠参数化装饰器。

3. 常用断言

pytest里面断言实际上就是python里面的assert断言方法,常用的有以下几种:

  • assert xx 判断xx为真
  • assert not xx 判断xx不为真
  • assert a in b 判断b包含a
  • assert a == b 判断a等于b
  • assert a != b 判断a不等于b

4. skip跳过用例

跳过测试函数的最简单方法是使用跳过装饰器标记它,可以传递一个可选的原因:`@pytest.mark.skip(reason=”no way of currently testing this”)`

如果您希望有条件地跳过某些内容,则可以使用skipif代替。 这是标记测试的示例在Python3.6之前的解释器上运行时要跳过的函数:`@pytest.mark.skipif(sys.version_info < (3,6),)`