码迷,mamicode.com
首页 > 其他好文 > 详细

unittest相关内容

时间:2021-06-24 18:12:57      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:runner   res   测试流程   初始化   equal   and   一起   pytho   stl   

unittest相关内容

一、什么是unittest

unittest是Python单元测试框架,类似于JUnit框架。

unittest中有4个重要的概念:test fixture, test case, test suite, test runner

Testcase:

一个TestCase的实例就是一个测试用例。什么是测试用例呢?就是一个完整的测试流程,包括测试前准备环境的搭建(setUp),执行测试代码 (run),以及测试后环境的还原(tearDown)。元测试(unit test)的本质也就在这里,一个测试用例是一个完整的测试单元,通过运行这个测试单元,可以对某一个问题进行验证。

TestSuite:

多个测试用例集合在一起,就是TestSuite,而且TestSuite也可以嵌套TestSuite。

Test runner:

是来执行测试用例的,其中的run(test)会执行TestSuite/TestCase中的run(result)方法。

TestLoader:

是用来加载TestCase到TestSuite中的,其中有几个loadTestsFrom__()方法,就是从各个地方寻找TestCase,创建它们的实例,然后add到TestSuite中,再返回一个TestSuite实例。

Test fixture:

对一个测试用例环境的搭建和销毁,是一个fixture,通过覆盖 TestCase的setUp()和tearDown()方法来实现。这个有什么用呢?比如说在这个测试用例中需要访问数据库,那么可以在setUp() 中建立数据库连接以及进行一些初始化,在tearDown()中清除在数据库中产生的数据,然后关闭连接。注意tearDown的过程很重要,要为以后的 TestCase留下一个干净的环境。关于fixture,还有一个专门的库函数叫做fixtures,功能更加强大。

二、unittest模块的常用方法

1.判断结果是否相同

assertEqual(a, b) a == b

2.判断结果是否不相同

assertNotEqual(a, b) a != b

3.判断结果是否为ture

assertTrue(x) bool(x) is True

4.判断结果是否为false

assertFalse(x) bool(x) is False

5.判断结果a是否为b

assertIs(a, b) a is b

6.判断结果a是否不为b

assertIsNot(a, b) a is not b

7.判断结果是否为空

assertIsNone(x) x is None

8.判断结果是否不为空

assertIsNotNone(x) x is not None

9.判断结果是否在这些数据里

assertIn(a, b) a in b

10.判断结果是否不在这些数据里

assertNotIn(a, b) a not in b

11.判断a是否为b的一个实例

assertIsInstance(a, b) isinstance(a, b)

12.判断a是否不为b的一个实例

assertNotIsInstance(a, b) not isinstance(a, b)

unittest相关内容

标签:runner   res   测试流程   初始化   equal   and   一起   pytho   stl   

原文地址:https://www.cnblogs.com/yuguog/p/14926127.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!