python如何开展单元测试?
2 回答
拉丁的传说
TA贡献1789条经验 获得超8个赞
首先你要知道单元测试是什么,单元测试就是针对软件中的最小可测试单元进行检查和验证,在python中可以理解为是对类或者是方法的正确性验证
其次要了解python语言中的单元测试框架有哪些,在python语言中的单元测试框架也有很多,解释本身自带的unittest单元测试框架,还有很流行的pytest(有丰富的插件),这些在我之前在黑马程序员学习测试时都有涉及,或者你可以去看论坛上面有很多python开展单元测试的技术文章。
最后使用某个单元测试框架如何实现,拿解释器自带的unittest举例子吧,使用这个框架来实现单元测试的话,需要创建测试类,创建测试方法,设置fixture,断言,然后通过测试条件和运行器来执行测试用例.其测试数据可以使用参数化动态获取.
当年话下
TA贡献1890条经验 获得超9个赞
1 python中有许多的单元测试框架和工具,unittest, testtools, subunit, coverage, testrepository, nose, mox, mock, fixtures, discover等.所以先要选择一个工具
2 最常用的就是python自带的标准模块unittest
3 python文档中自带的示例
1234567891011121314151617181920212223242526272829 | 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() |
- 2 回答
- 0 关注
- 753 浏览
添加回答
举报
0/150
提交
取消