zoukankan      html  css  js  c++  java
  • 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

    """

  • 相关阅读:
    leetcode-344-反转字符串
    leetcode-136-只出现一次的数字
    leetcode-350- 两个数组的交集 II
    leetcode-36-有效的数独
    leetcode-283-移动零
    leetcode-387-字符串中的第一个唯一字符
    leetcode-242-有效的字母异位词
    HDU 2612
    Codeforces 1090B
    Codeforces 1090D
  • 原文地址:https://www.cnblogs.com/xlzhangq/p/13196759.html
Copyright © 2011-2022 走看看