51Testing软件测试论坛

标题: python unittest 入门 [打印本页]

作者: 雨中漫步_012    时间: 2018-4-3 14:47
标题: 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,并将结果展现给用户。展现的方式可以是图形或文本,等等。
简单的使用例子

先来个简单的斐波那契

  1. def f(n):
  2.   if n < 2:
  3.     return 1
  4.   return f(n-1) + f(n-2)
  5. 测试代码

  6. import unittest

  7. class TestF(unittest.TestCase):
  8.     def setUp(self):
  9.         print 'setUp'

  10.     def tearDown(self):
  11.         print 'tearDown'

  12.     def test_f(self):
  13.         self.assertEqual(f(3), 2)


  14. if __name__ == '__main__':
  15.     unittest.main()
复制代码



作者: 梦想家    时间: 2018-4-4 09:52





欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2