目录
1、assertEquals(expected,actual) 、assertNotEquals(expected,actual)
2、assertTrue(message,condition) 、 assertFalse(message,condition)
3、assertNull(message,object) 、 assertNotNull(message,object)
4、assertSame(expected,actual) 、 assertNotSame(expected,actual)
5、fail(message)
6、assert
7、异常信息
8、常用断言
比较实际值与预期值是否一致。
如果一致,程序继续运行,否则抛出异常,会打印报错信息。常用断言方法,便于调试。
判断条件的真假与预期值是否相同
如果条件的真假与预期相同,程序继续运行,否则抛出异常,不会打印报错信息。
判断对象是否为空
判断一个对象是否为空,如果结果与预期相同,程序继续运行,否则抛出异常。
判断预期的值和实际的值是否为同一个参数(即判断是否为相同的引用)
如果结果与预期相同,程序继续运行,否则抛出异常。
两者的区别:
assertSame(A,B) ————————————> A==B
assertEquals(A,B)————————————>A.equals(B)
“fail”断言能使测试立即失败
这种断言通常用于标记某个不应该被到达的分支。例如测试中某个代码块要try catch,则在catch
代码中加入fail(message)方法,否则代码直接进入catch块,无法判断测试结果。
验证Python测试中的期望和值
新建test_1.py文件:
#assert断言
#验证Python测试中的期望和值
import pytest
def f():
return 3
def test_function():
assert f() == 4
if __name__ == "__main__":
pytest.main(["-s", "test_1.py"])
运行结果:
断言f()函数的返回值,接下来会看到断言失败,因为返回的值是3,判断等于4,所以失败了。
从报错信息可以看到断言失败原因:E assert 3 == 4
在异常的时候,输出一些提示信息,这样报错后,就方便查看是什么原因了。
新建test_2.py文件:
import pytest
def f():
return 4
def test_function():
a=f()
assert a%3==0,"判断a为奇数,当前a的值为:%s"%a
if __name__ == "__main__":
pytest.main(["-s", "test_2.py"])
运行结果:
当断言失败的时候,会给出自己写的失败原因了E AssertionError: 判断a为奇数,当前a的值为:4;
pytest里面断言实际上就是python里面的assert断言方法,常用的有以下几种
新建test_3.py文件:
import pytest
def is_true(a):
if a>0:
return True
else:
return False
#断言xx为真
def test_01():
a=6
b=-6
assert is_true(a)
assert not is_true(b)
#断言a中包含b
def test_02():
a="hello"
b="o"
assert b in a
#断言相等
def test_03():
a="123"
b="123"
assert a==b
#断言不相等
def test_04():
a="123"
b="1234"
assert a!=b
if __name__ == "__main__":
pytest.main(["-s", "test_3.py"])