Python unittest 基本框架解析(2)(python是什么意思)

网友投稿 304 2022-08-22


Python unittest 基本框架解析(2)(python是什么意思)

下面例子,是一般测试框架的基本结构

框架知识点包括:实例化被测试模块类、装载测试用例、测试套件打包、保存测试输出结果、生成测试报告等

测试情况包括   :跳过某个case、执行成功、执行失败

#待测试模块 -> myclass.py

class myclass:   def __init__(self):     pass   def sum(self, x, y):     return x+y   def sub(self, x, y):     return x-y   def cheng(self, x, y):     return x*y #单元测试模块 -> mytest.pyimport unittest    #导入测试模块import myclass    #导入待测试模块class mytest(unittest.TestCase):   #初始化工作   def setUp(self):     self.tclass = myclass.myclass()    #实例化了被测试模块中的类   #退出清理工作   def tearDown(self):     pass   #具体的测试用例   def test_sum(self):     self.assertEqual(self.tclass.sum(1,2) ,3)   #跳过某个case   @unittest.skip("I don't want to run this case.")   def test_sub(self):     self.assertEqual(self.tclass.sub(4,2) ,2)   def test_cheng(self):     self.assertEqual(self.tclass.cheng(2,3) ,5) if __name__ == '__main__':   #装载测试用例(该句话等价于tests = [mytest("test_sum"),mytest("test_sub"),mytest("test_cheng")])   tests = unittest.TestLoader().loadTestsFromTestCase(mytest)   #使用测试套件并打包测试用例(addTests()等价于addTest())   suite = unittest.TestSuite()   suite.addTest(tests)   #保存unittest的测试输出日志   log_name = "log.txt"   with open(log_name, 'w+')as f:     result = unittest.TextTestRunner(stream = f, verbosity = 2).run(suite)   #若不保存测试输出结果,执行如下命令   #result = unittest.TextTestRunner(verbosity = 2).run(suite)   #生成测试报告   print("testsRun:%s" %result.testsRun)   print("failures:%s" %len(result.failures))   print("errors:%s" %len(result.errors))   print("skipped:%s" %len(result.skipped)) #以上“if __name__ == '__main__':”下的内容,完全可以使用“unittest。main()”替代(前提是:所有的测试模块均以test开头)

交互界面执行结果:

测试输出结果(log):

测试结果保存地址:C:\Users\xxx\Desktop


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Python unittest基本框架组成(1)(python官网)
下一篇:密码系统AES私钥RSA公钥的加解密示例
相关文章

 发表评论

暂时没有评论,来抢沙发吧~