首页 > 编程语言 > 详细

python unittest单元测试框架-1

时间:2018-11-26 22:36:37      阅读:217      评论:0      收藏:0      [点我收藏+]

Test Case、Test Suite、Test Runner、Test Fixture

  • Test Case:单个测试用例
  • Test Suite:测试组合。可以把多个测试用例集合在一起执行。
  • Test Runner:通过Test Runner的run()方法来执行test suite/test case,可以使用图形界面、文本界面,或返回一个特殊的值来表示测试执行的结果。
  • Test Fixture:测试用例环境的搭建和销毁。如果测试用例中需要访问数据库,可以在setUp中建立数据库连接,在tearDown中清除数据库产生的数据,并断开连接

单元测试

calculator.py

class Count:
    def __init__(self,a,b):
        self.a = a
        self.b = b
    def add(self):
        return self.a + self.b
    def sub(self):
        return self.a - self.b

test.py

from book.calculator import  Count
import unittest
class TestCount(unittest.TestCase):
    def setUp(self):
        print("test start")
    def test_add(self):
        j = Count(2,3)
        self.assertEqual(j.add(),5)
    def test_add2(self):
        j = Count(54,49)
        self.assertEqual(j.add(),103)
    def tearDown(self):
        print("test end")
if __name__=="__main__":
    #__name__是内置属性,使用__main__就是直接使用。
    #main()方法可以将一个单元测试模块变成可以直接运行的测试脚本,执行所有以test命令开头的方法
    unittest.main()

技术分享图片

使用Test Suite组织测试用例,Test Runner运行

test.py

from calculator import  Count
import unittest
class TestCount(unittest.TestCase):
    def setUp(self):
        print("test start")
    def test_add(self):
        j = Count(2,3)
        self.assertEqual(j.add(),5)
        print("test_add执行完毕")
    def test_add2(self):
        j = Count(54,49)
        self.assertEqual(j.add(),103)
        print("test_add2执行完毕")
    def tearDown(self):
        print("test end")
if __name__=="__main__":
    #构造测试集
    suite = unittest.TestSuite()
    suite.addTest(TestCount("test_add2"))
    #执行测试
    runner = unittest.TextTestRunner()
    runner.run(suite)

技术分享图片

断言方法

python unittest单元测试框架-1

原文:https://www.cnblogs.com/csj2018/p/10023320.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!