python中unittest库的用法,python3 unittest

  python中unittest库的用法,python3 unittest

  下面的例子是一个通用测试框架的基本结构。

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

  测试包括:跳过一个案例、成功执行和失败执行。

  #要测试的模块-myclass.py

  类别myclass:

  def __init__(self):

  及格

  定义总和(自身,x,y):

  返回x y

  def sub(自身,x,y):

  返回x-y

  def cheng(self,x,y):

  返回x*y

  #单元测试模块-mytest.py

  导入测试#导入测试模块

  Import myclass #导入要测试的模块类mytest(unittest。测试用例):

  #初始化工作

  定义设置(自身):

  Self.tclass=myclass.myclass() #实例化被测模块中的类#并退出清理工作。

  定义拆卸(自身):

  通过#特定测试案例

  def test_sum(自身):

  self . assert equal(self . tclass . sum(1,2,3) #跳过一个案例

  @ unittest . skip(‘我不想运行这个案例。’)

  def test_sub(自身):

  self . assert equal(self . tclass . sub(4,2),2) def test_cheng(self):

  self . assert equal(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。测试套件()

  Suite.addTest(tests) #保存unittest的测试输出日志

  log_name=log.txt

  其中open(log_name, w )为f:

  result=unit test . texttestrunner(stream=f,verbosity=2)。Run (suite) #如果不保存测试输出,执行下面的命令

  # result=unit test . texttestrunner(verbosity=2)。运行(suite) #生成测试报告

  print( tests run:% s % result . tests run)

  print(失败次数:%s %len(result.failures))

  print(错误:%s %len(result.errors))

  打印(跳过:% s% len(结果。跳过)#以上“if _ _ name _= _ _ main _ _ :”下的内容,完全可以使用“unittest”。Main()”代替(假设所有的测试模块都以test开始)

  交互式执行结果:

  测试输出结果(日志):

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

  转载请联系作者获得授权,否则将追究法律责任。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: