python中的unittest有啥作用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中的unittest有啥作用相关的知识,希望对你有一定的参考价值。

python中unittest模块是用来做单元测试的。

unittest是一个python版本的junit,junit是java中的单元测试框架,对java的单元测试,有一句话很贴切:Keep thebar green,相信使用eclipse写过java单元测试的都心领神会。unittest实现了很多junit中的概念,比如我们非常熟悉的test case, test suite等,总之,原理都是相通的,只是用不同的语言表达出来。

下面是一个例子

import random
import unittest

class TestSequenceFunctions(unittest.TestCase):

    def setUp(self):
        self.seq = range(10)

    def test_shuffle(self):
        # make sure the shuffled sequence does not lose any elements
        random.shuffle(self.seq)
        self.seq.sort()
        self.assertEqual(self.seq, range(10))

        # should raise an exception for an immutable sequence
        self.assertRaises(TypeError, random.shuffle, (1,2,3))

    def test_choice(self):
        element = random.choice(self.seq)
        self.assertTrue(element in self.seq)

    def test_sample(self):
        with self.assertRaises(ValueError):
            random.sample(self.seq, 20)
        for element in random.sample(self.seq, 5):
            self.assertTrue(element in self.seq)

if __name__ == \'__main__\':
    unittest.main()
参考技术A unittest框架介绍
unittest是python自带的单元测试框,具备编写用例、组织用例、执行用例、输出报告等自动化框架的条件,可以用来作自动化测试框架的用例组织执行框架。
python中unittest框架有什么作用?
①提供用例组织与执行:当测试用例只有几条的时候可以不考虑用例的组织,但是当测试用例数量较多时,就需要考虑用例的规范与组织问题,unittest单元测试框架就是用来解决这个问题的。
②提供丰富的断言方法:是测试,就有一个预期结果和实际结果的比较问题。比较就是通过断言来实现,unittest单元测试框架提供了丰富的断言方法,通过捕获返回值,并且与预期值进行比较,从而得出测试通过与否。
③提供丰富的日志:每一个失败用例我们都想要知道失败的原因,所有用例执行结束我们都希望知道整体的执行情况,比如:总体执行时间、失败用例数、成功用例数。unittest单元测试框架为我们提供了这些数据。

以上是关于python中的unittest有啥作用的主要内容,如果未能解决你的问题,请参考以下文章

Python unittest 中的 setUp() 和 setUpClass() 有啥区别?

python unittest测试框架

Python基础入门-unittest单元测试框架

Pytest VS Unittest 简单说一下之间的优缺点

Python中的UNITTEST不起作用

unittest单元测试框架总结