Unittest核心要素代码编写

测试的模块:Demo1.py:

 def screen(name,password):
     
     if(name =='peter'and password == '123456'):
         result='登录成功'
         return result
     else:
         result='登录失败'
         return result

SetJson.py:

 import json
 list1=[{'name':'peter','password':'123456','result':'登录成功'}
     ,{'name':'tom','password':'123456','result':'登录失败'}
     ,{'name':'peter','password':'123457','result':'登录失败'}]
 with open('b.json','w',encoding='utf-8')as f:
     json.dump(list1,f,ensure_ascii=False,indent=3)

用例:b.json:

 [
    {
       "name": "peter",
       "password": "123456",
       "result": "登录成功"
    },
    {
       "name": "tom",
       "password": "123456",
       "result": "登录失败"
    },
    {
       "name": "peter",
       "password": "123457",
       "result": "登录失败"
    }
 ]

TestCase01.py:

 import unittest
 import json
 ​

 from parameterized import parameterized
 ​
 from LearnUnitTest.Exercise.Exe_01.Demo01 import screen
 ​

 def data():
     list1 = []
     with open('b.json','r',encoding='utf-8')as f:
         res=json.load(f)
         for i in res:
             list1.append((i.get('name'),i.get('password'),i.get('result')))
     return list1
 ​
 class addCase(unittest.TestCase):
     # @unittest.skipIf('跳过')
     @parameterized.expand(data())
     def test_mothed(self,name,password,result):
        
         self.assertEqual(result,screen(name,password))
         
 ​

TestSuite+TestLoader+HTMLTestRunner:

 import unittest
 #前提:导入HTMLTestRunner文件
 from HTMLTestRunner import HTMLTestRunner
 ​
 from LearnUnitTest.Exercise.Exe_01.u_TestCase01 import addCase
 ​
 '''
 1.TestSuite:
 Suite:
 suite=unittest.TestSuite()
 suite.addTest(unittest.makeSuite(addCase))
 runner=unittest.TextTestRunner()
 runner.run(suite)
 '''
 '''2.TestLoader:
 suite=unittest.TestLoader().discover('./','u_TestCase*.py')
 ​
 runner=unittest.TextTestRunner()
 runner.run(suite)
 '''
 #3.HTMLTestRunner第三方报告:
 suite=unittest.defaultTestLoader.discover('.','u_TestCase01.py')
 file='report1.html'
 with open(file,'wb')as f:
    runner= HTMLTestRunner(f)
    runner.run(suite)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值