第一步:unittest增长TestSuit()python
suite=unittest.TestSuite()
第二步:unittest增长Testloader几种运行方式测试
一:unittest.TestLoader().loadTestsFromTestCase(类名)
一:unittest.TestLoader().loadTestsFromMoudule(模块名)可是我看源码提示是说在3.5已经移除使用,那就不用这个了
三:unittest.TestLoader().loadTestsFromName(方法名)
四:unittest.TestLoader().loadTestsFromNames(方法名,复数形式)
第三步:在suite中增长运行方法ui
suite.addTest(suite1)
第四种:运行spa
unittest.TextTestRunner().run(suite1)
是否是这四步有些晕,TestLoader咱们能够大概理解为,把这个理解为炒菜,炒菜是须要先有锅吧,这个锅就是TestSuite,第二步,要有菜吧,菜品方式不少,抄,汤都有,code
TestLoader 4种方式任君选取,第三步,把菜下锅把已经备好的菜,使用addTest方法增长备好的菜,第四步:翻炒,起锅,使用TextTestRunner运行
感受很简单的样子,简单4步就抄完了菜,实际咱们还要放盐,花椒,辣椒,掌握火候等,菜才能美味,全部unittest使用也是,以下:blog
运行两个(多个)文件的测试方法源码
我有demo,demoassert两个方法it
在runtest中咱们运行以下:class
import unittest from demo import MytestDemo from demoassert import MyAssert #使用unittest的testsulite filename=[MytestDemo,MyAssert] for i in filename: print(i) suite=unittest.TestSuite() suite1=unittest.TestLoader().loadTestsFromTestCase(i) #增长文件 suite.addTest(suite1) unittest.TextTestRunner().run(suite1)
运行成功test
咱们在来试试loadTestsFromName,
import demo suite=unittest.TestSuite() suite1=unittest.TestLoader().loadTestsFromTestCase(demo.MytestDemo) #类名suite1=unittest.TestLoader().loadTestsFromModule(demo) #模块名、文件名 suite.addTest(suite1) unittest.TextTestRunner(verbosity=2).run(suite1)
运行成功
这个我没有执行成功,不知道为何,有知道的朋友还请告诉我一下,使用应该是这样
import demo suite=unittest.TestSuite() suite1=unittest.TestLoader().loadTestsFromName(demo.MytestDemo.test_yuantong)#w文件名+类名+方法名 suite.addTest(suite1) unittest.TextTestRunner(verbosity=2).run(suite1)
而使用s就是复数形式使用列表的方式执行
import demo suite=unittest.TestSuite() suite1=unittest.TestLoader().loadTestsFromNames([demo.MytestDemo.test_yuantong,demo.MytestDemo.test_tiantian()])#w文件名+类名+方法名 suite.addTest(suite1) unittest.TextTestRunner(verbosity=2).run(suite1)