雨中漫步_012 发表于 2018-4-3 14:47:55

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

梦想家 发表于 2018-4-4 09:52:35

:victory:
页: [1]
查看完整版本: python unittest 入门