python如何开展单元测试?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python如何开展单元测试?相关的知识,希望对你有一定的参考价值。

首先你要知道单元测试是什么,单元测试就是针对软件中的最小可测试单元进行检查和验证,在python中可以理解为是对类或者是方法的正确性验证
其次要了解python语言中的单元测试框架有哪些,在python语言中的单元测试框架也有很多,解释本身自带的unittest单元测试框架,还有很流行的pytest(有丰富的插件),这些在我之前在黑马程序员学习测试时都有涉及,或者你可以去看论坛上面有很多python开展单元测试的技术文章。
最后使用某个单元测试框架如何实现,拿解释器自带的unittest举例子吧,使用这个框架来实现单元测试的话,需要创建测试类,创建测试方法,设置fixture,断言,然后通过测试条件和运行器来执行测试用例.其测试数据可以使用参数化动态获取.
参考技术A

1 python中有许多的单元测试框架和工具,unittest, testtools, subunit, coverage, testrepository, nose, mox, mock, fixtures, discover等.所以先要选择一个工具

2 最常用的就是python自带的标准模块unittest

3 python文档中自带的示例

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()

以上是关于python如何开展单元测试?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用Python进行单元测试建议收藏

如何使用Python进行单元测试建议收藏

新闻资讯开展监控单元B接口测试助力联通基础设施标准化建设

你如何对 Python DataFrames 进行单元测试

如何在目录中运行所有 Python 单元测试?

c++单元测试