unittest测试

import unittest

from Widget import Widget


# 执行测试的类
# 让所有执行测试的类都继承于 TestCase 类,可以将 TestCase 看成是对特定类进行测试的方法的集合
class WidgetTestCase(unittest.TestCase):
    # setUp()方法中进行测试前的初始化工作
    def setUp(self):
        self.widget = Widget()

    # 测试 getSize()方法的测试用例
    def testSize(self):
        # assertEqual()也是 TestCase 类中定义的方法。对 Widget 类中 getSize()方法的返回值和预期值进行比较
        self.assertEqual(self.widget.getSize(), (40, 40))

    # 测试 resize()方法的测试用例
    def testResize(self):
        self.widget.resize(100, 100)
        self.assertEqual(self.widget.getSize(), (100, 100))

    # tearDown()方法中执行测试后的清除工作,setUp()和 tearDown()都是 TestCase 类中定义的方法
    def tearDown(self):
        self.widget.dispose()
        self.widget = None


# 构造测试集
def suite():
    # TestSuite 看成是包含所有TestCase 类测试用例的一个容器
    suite = unittest.TestSuite()
    suite.addTest(WidgetTestCase("testSize"))
    suite.addTest(WidgetTestCase("testResize"))
    return suite


# 测试
if __name__ == "__main__":
    unittest.main(defaultTest='suite')


如果用于测试的类中所有的测试方法都以 test 开头,甚至可以用 PyUnit 模块提供的makeSuite()方法来构造一个。

def suite():
    return unittest.makeSuite(WidgetTestCase, "test")

Widget.py被测试类

class Widget:
    # __init__()方法在类的一个对象被建立时,马上运行。这个方法可以用来对你的对象做一些你希望的初始化。
    def __init__(self, size=(40, 40)):
        # _size是私有变量
        self._size = size

    def getSize(self):  # 获取类中的私有变量

        return self._size

    def resize(self, width, height):
        if width < 0 or height < 0:
            raise ValueError("illegal size")
        self._size = (width, height)

    def dispose(self):
        pass

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值