unittests相关内容
Posted 阿飞~HF
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unittests相关内容相关的知识,希望对你有一定的参考价值。
一、什么是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)
以上是关于unittests相关内容的主要内容,如果未能解决你的问题,请参考以下文章
python批量执行脚本,使用unittest.TestSuit(); unittest.TextTestRunner().run(); addTest();unittest.defaultTestL