|
断言概念:用来判断被测程序的预期结果和实际结果是否一致,程序,大多数是以方法/函数的形式出现常用的断言:
assertEqual(a,b)#a是否等于b
assertNotEqual(a,b)#a是否不等于b
assertTrue(x)#x返回值是Ture
assertFalse(x)#x返回值是false
assertIn(a,b) #a是否在b中
assertNotIn(a,b)#a是否不在b中
什么样的单元适合unittest写测试用例:必须要有返回值
函数、方法的返回值设计:
(1)如果返回值中需要包含明确的文字信息。返回值设计成字符串
(2)如果程序的执行结果只有两种可能,比如(Ture/False),返回值则设计成布尔型
(3)如果程序的执行结果是多样化(有两种以上可能性),且无需明确文字信息,返回值则设计整数
对返回的每一个整数都事先定义其对应的含义
单个测试,按顺序执行
引入模块TestSuite
form unittest import TestSuite
t=TestSuite()#创建测试类对象
t.addTest(类名('测试方法名'))
main(defaultTest='t')
执行多个测试类
引入模块TestSuite,TestLoader
from unittest import TestSuite,TestLoader
t=TestSuite()
tl1=TestLoader().loadTestsFromModule(模块名)
tl2=TestLoader().loadTestsFromModule(模块名.类名。方法名)
t.addTest(tl1)
t.addTest(tl2)
main(defaultTest='t')
执行所有的测试类
引入模块TestSUite,TestLoader,defaultTestLoader
from unittest import TestSuite,TestLoader,defaultTesttLoader
t=TestSuite()
tdl=defaultTestLoader.disover('.',pattern='Test*.py')
t.addTest(tdl)
main(defaultTest='t')
|
|