理论知识:
Test fixture:
是一个fixture对一个测试用例环境的搭建和销毁,
通过覆盖 TestCase的setUp()和tearDown()方法来实现。
关于fixture,还有一个专门的库函数叫做fixtures,功能更加强大。
Testcase:
一个TestCase的实例就是一个测试用例,就是一个完整的测试流程,包括测试前准备环境的搭建(setUp),执行测试代码 (run),
以及测试后环境的还原(tearDown)。一个测试用例是一个完整的测试单元,通过运行这个测试单元,可以对某一个问题进行验证。
Test suite:
多个测试用例集合在一起,就是TestSuite,而且TestSuite也可以嵌套TestSuite。
Test runner:
是来执行测试用例的,其中的run(test)会执行TestSuite/TestCase中的run(result)方法。
TestLoader:
是用来加载TestCase到TestSuite中的,
其中有几个loadTestsFrom__()方法,就是从各个地方寻找TestCase,创建它们的实例,然后add到TestSuite中,再返回一个TestSuite实例。
使用方法:
需要创建一个类来继承unittest.TestCase
使用setUp和tearDown在每个用例执行都需要执行
定义测试用例,命名以test开头,会自动将test开头的用例加入到testsuit中
断言
unittest.main()执行用例
具体看代码怎么实现吧,先使用pycharm创建好一个testunittest.py的文件,执行方式在代码中都有体现
'''
import unittest
from sele_learn.HTMLTestRunner_PY3 import HTMLTestRunner
class Test_Unittest_case(unittest.TestCase):
#setUpClass这个需要加上@classmethod,否则报错
@classmethod
def setUpClass(cls):
print("类1执行时候开始")
@classmethod
def tearDownClass(cls):
print("类1执行结束开始")
def setUp(self):
print("用例开始")
def tearDown(self):
print("用例结束")
print("----------")
#遇到unittest.skip时候会跳过当前用例
@unittest.skip
def testsearch01(self):
# print(self.assertEqual(1, 1, "判断两者相等"))
print("第一个")
def testsearch02(self):
print("第二个")
def testsearch03(self):
print("第三个")