在pytest中即可声明类的测试用例也可以声明函数的测试用例:类的测试用例声明要求:(类名需要以Test开头,方法名需要以test开头);同样函数声明的话也需要以test开头;(区分大小写)
对运行结果获取详细信息:可以在执行的指令中添加-v或者-v -s参数:
注意:如果需要运行类中的某个用例的话,则表示形式为:模块名::类名::方法名
断言方法:
第一种方式: assert bool 表达式,表达断言当前的值,当前的结果是否存在(真,假)
可以使用比较的符号实现定义bool表达式(assert 3 !=3)
第二种方式: assert 实际结果值 == 预期结果值,如果需要比较两个对象的内容是否一致的话直接使用==
注意: 如果需要判断对象的话需要使用is关键字,如果需要判断实例是否为指定类型的对象的话可以使用isinstance函数
第三种方式:异常断言,在pytest框架中,实现raises方法, 可以通过该方法针对实际会抛出的异常的测试用例进行补货并将对象存储在with语句的as变量中,且该对象中拥有type,value等
抛出异常断言
def test_devide():
cal = Calulater()
with pytest.raises(ZeroDivisionError) as ec:
cal.divide(1,0)
assert str(ec.value) == "division by zero"
assert ec.type == ZeroDivisionError
测试对象初始化:
类级别:setup_class,setdown_class类基本的前置后置
方法级别: setup,setdown 前置后置