其他分享
首页 > 其他分享> > TDD学习日记

TDD学习日记

作者:互联网

最近在学习测试驱动开发(TDD)中在assert的使用上懵懵懂懂,记录一下加深记忆。平时写测试框架使用的assert的种类没有那么多,因为我是买了书去学习,书中使用的也不是很全
先介绍一下unittest的基本使用方法:

在这里插入代码片
 1.sertEquals(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)
判断预期的值和实际的值是否为同一个参数(即判断是否为相同的引用),如果结果与预	期相同,程序继续运行,否则抛出异常。

assertSame(expected,actual) 和 assertEquals(expected,actual)的区别;

assertSame(A,B)  ————————————> A==B

assertEquals(A,B)————————————>A.equals(B)
在这里插入代码片
5.fail(message)
“fail”断言能使测试立即失败,这种断言通常用于标记某个不应该被到达的				分支。例如测试中某个代码块要try  catch,则在catch代码中加入	fail(message)方法,否则代码直接进入catch块,无法判断测试结果。

还有其他使用方法
assertIs(a,b,[msg=‘测试失败时打印的信息’]):若a是b,则测试用例通过
assertNotIs(a,b,[msg=‘测试失败时打印的信息’]):若a不是b,则测试用例通过
assertIsNone(x,[msg=‘测试失败时打印的信息’]):若x是None,则测试用例通过
assertIsNotNone(x,[msg=‘测试失败时打印的信息’]):若x不是None,则测试用例通过
assertIn(a,b,[msg=‘测试失败时打印的信息’]):若a在b中,则测试用例通过
assertNotIn(a,b,[msg=‘测试失败时打印的信息’]):若a不在b中,则测试用例通过
assertIsInstance(a,b,[msg=‘测试失败时打印的信息’]):若a是b的一个实例,则测试用例通过
assertNotIsInstance(a,b,[msg=‘测试失败时打印的信息’]):若a不是b的实例,则测试用例通过
assertAlmostEqual(a, b):round(a-b, 7) == 0
assertNotAlmostEqual(a, b):round(a-b, 7) != 0
assertGreater(a, b):a > b
assertGreaterEqual(a, b):a >= b
assertLess(a, b):a < b
assertLessEqual(a, b):a <= b
assertRegexpMatches(s, re):regex.search(s)
assertNotRegexpMatches(s, re):not regex.search(s)
assertItemsEqual(a, b):sorted(a) == sorted(b) and works with unhashable objs
assertDictContainsSubset(a, b):all the key/value pairs in a exist in b
assertMultiLineEqual(a, b):strings
assertSequenceEqual(a, b):sequences
assertListEqual(a, b):lists
assertTupleEqual(a, b):tuples
assertSetEqual(a, b):sets or frozensets
assertDictEqual(a, b):dicts
原文链接:https://blog.csdn.net/lala_peng/article/details/84304336

标签:actual,打印,TDD,学习,测试用例,测试,msg,message,日记
来源: https://blog.csdn.net/weixin_43283356/article/details/121796807