unittest测试框架初识_01

#count_01.py
class Count:
    def add(self,a,b):
        return a + b 
 
#testcase_01.py
import unittest
from count_01 import Count

 

#1、必须创建测试类,且必须继承unittest.TestCase
class TestAdd(unittest.TestCase):

 

    def setUp(self):#setUp()方法用于测试用例执行前的初始化工作
        print("test before")

 

    #2、至少创建一个测试方法,且必须以“test”开头
    def test_add1(self): #测试方法一般不要有传参
        c = Count()
        result = c.add(3,5)
        self.assertEqual(result,8) #对add()的返回值进行断言,判断两者是否相等,assertEqual()方法由TestCase类继承而来
    
    def test_add2(self):
        c = Count()
        result = c.add('hello','world')
        self.assertEqual(result,'helloworld')

 

    def tearDown(self):
        print("test end")  #tearDown()方法与 setUp() 方法相呼应,用于测试用例执行之后的善后工作



if __name__ == '__main__':
    #unittest.main() #默认执行当前文件下所有符合条件的testcase
    suit  = unittest.TestSuite()  #3、创建测试套件类,采用构造测试集的方法来加载与运行测试用 例,实现了有选择地执行测试用例
    suit.addTest(TestAdd("test_add1")) #格式:suit.addTest(类名("方法名"))
    suit.addTest(TestAdd("test_add2"))

 

    runner = unittest.TextTestRunner()  #4、运行测试用例
    runner.run(suit) 

 

"""
调用 unittest 框架的 TestSuite()类来创建测试套件,
通过它所提供的 addTest()方法来添加测试用例,
接着调用 unittest 框架的 TextTestRunner()类,通过它下面的 run()方法来运行 suite 所组装的测试用 例
"""


"""

#用例执行也可以使用 discover()
import unittest 
# 定义测试用例的目录为当前目录 
test_dir = './' 
discover = unittest.defaultTestLoader.discover(test_dir, 'test*.py') 
if __name__ == '__main__': 
    runner = unittest.TextTestRunner() runner.run(discover)
 
#discover()方法会自动根据测试目录(test_dir)匹配查找测试用例文件(test*.py),
#并将查找到的测试用 例组装到测试套件中,因此,可以直接通过 run()方法执行 discover

"""

posted @ 2020-06-26 23:03  月半王令  阅读(100)  评论(0编辑  收藏  举报