python unittest 入门
希望虽然本人对python的unittest不熟悉,但还是硬着头皮把这篇文章写了,希望写完之后,自己能对这个单测框
架了解的多一些。
资料来源
虽然有很多的中文博客介绍过python的unittest,但都是参考的官方的文档https://docs.python.org/2/library/
unittest.html 我就以最本源的材料作为参考资料,来写这篇文章。
基本概念
python unittest实际上是参考jUnit实现的,甚至连命名都跟java一样都是驼峰命名(这个有点让有强迫症的人
看了隐隐的不爽)
unittest包含4个基本概念
test fixture
代表准备和清理的操作。像setUp testDown 都属于test fixture
test case
代表最基本的测试单元,检查在特定输入的情况下是否有一个特定的输出。通过集成unitest中的TestCase类,
可以快速的写出一个test case
test suite
test suite由一组test case组成,不过其中也可以包含test suite。代表所有的case合集
test runner
test runner运行所有的case,并将结果展现给用户。展现的方式可以是图形或文本,等等。
简单的使用例子
先来个简单的斐波那契
def f(n):
if n < 2:
return 1
return f(n-1) + f(n-2)
测试代码
import unittest
class TestF(unittest.TestCase):
def setUp(self):
print 'setUp'
def tearDown(self):
print 'tearDown'
def test_f(self):
self.assertEqual(f(3), 2)
if __name__ == '__main__':
unittest.main()
:victory:
页:
[1]