python unittest练习

本文介绍了作者在学习Python unittest自动化测试过程中进行的小练习,包括遇到的两个问题:测试结果缺乏详细错误信息及如何优化`__name__ == "__main__"`的执行代码。目前问题1仍在解决中,问题2提出了将suite以函数形式实现的优化思路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近一直在学习python unittest自动化测试,今天小练习一下

import unittest
import time

class SampleTest(unittest.TestCase):
    def setUp(self):
        self.seq = [5,8,'habtha',3.5,16]
    
    def testequal(self):
        u'''这个用例测试列表某个值'''
        self.assertEqual(self.seq[1],8)

    def testgreat(self):
        u'''这个用例测试列表某个值是否大于某值'''
        self.assertGreater(self.seq[4],15)

    def testmatch(self):
        u'''这个用例测试列表里面是否包含某个值'''
        self.assertTrue('thdd' in self.seq[2])

    def testcount(self):
        u'''这个用例测试列表里面元素个数'''
        self.assertEqual(len(self.seq),5)


if __name__ == "__main__":
    suite = unittest.TestSuite()
    suite.addTest(SampleTest("testequal"))
    suite.addTest(SampleTest("testmatch"))
    
    now = time.strftime("%Y-%m-%d-%H-%M-%S")
    outfile = open('D:\\'+ now +'_result.html',"w")
                   
    runner = unittest.TextTestRunner(outfile)
    runner.run(suite)



    

遇到问题:

1、执行测试后生成的测试结果中没有详细的信息,对报错只显示F 无法查看问题错误信息

2、需要优化  __name__ == "__main__":  执行代码,考虑 将suite 以函数的形式实现
        

解决问题:

问题1:

待解决~~~


问题2:

import unittest
import time

class SampleTest(unittest.TestCase):
    def setUp(self):
        self.seq = [5,8,'habtha',3.5,16]
    
    def testequal(self):
        u'''这个用例测试列表某个值'''
        self.assertEqual(self.seq[1],8)

    def testgreat(self):
        u'''这个用例测试列表某个值是否大于某值'''
        self.assertGreater(self.seq[4],15)

    def testmatch(self):
        u'''这个用例测试列表里面是否包含某个值'''
        self.assertTrue('thdd' in self.seq[2])

    def testcount(self):
        u'''这个用例测试列表里面元素个数'''
        self.assertEqual(len(self.seq),5)

def suite():
    suite = unittest.TestSuite()
    suite.addTest(SampleTest("testequal"))
    suite.addTest(SampleTest("testmatch"))

    return suite


if __name__ == "__main__":
    su = suite()
    
    now = time.strftime("%Y-%m-%d-%H-%M-%S")
    outfile = open('D:\\'+ now +'_result.html',"w")
                   
    runner = unittest.TextTestRunner(outfile)
    runner.run(su)
    

    
        


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值