Pyunit源码笔记之一 典型例子,后面将分析源码

前言

此系列笔记涉及python 3.6 unittest的学习。包括内容:后面补充吧   

测试准备

一个简单类,提供 两个数加法和乘法的两个方法:MyClassA.py

class MyClassA(object):
    def __init__(self):
        #print("Initate {}".format(self.__class__.__name__))
        pass
          
    def addMy(self, a, b):
        #print("Current func: {}".format(sys._getframe().f_code.co_name))
        return a + b
    
    def mulMy(self, a, b):
        #print("Current func: {}".format(sys._getframe().f_code.co_name))
        return a * b


测试用例:测试加法和乘法功能 utamy.py,

我们故意写个测试失败的用例,在testsum(...)中,后面写成a*b(a+b就pass了)

import unittest
from pkg_jd import MyClassA 

class MyTest(unittest.TestCase):
    def setUp(self):
        print("Set up...")
        self.myclassa = MyClassA.MyClassA()
    
    def testsum(self, a = 4, b = 5): 
        self.assertEqual(self.myclassa.addMy(a, b), a * b)
    
    def testmul(self, a = 4, b = 5): 
        self.assertEqual(self.myclassa.mulMy(a, b), a * b)
        
    def tearDown(self):
        print("Tear down...")
        pass  
    
if __name__ =='__main__': 
    unittest.main()


我的MyClassA.py和utamy.py在同一个目录 pkg_jd下,这下面还有个控的__init__.py.

直接运行这个utamy.py: 输出见下面:

Set up...
.Tear down...
Set up...
Tear down...
F
======================================================================
FAIL: testsum (__main__.MyTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "D:\hy\ws\Prj_jd\pkg_jd\utamy.py", line 13, in testsum
    self.assertEqual(self.myclassa.addMy(a, b), a * b)
AssertionError: 9 != 20

----------------------------------------------------------------------
Ran 2 tests in 0.031s

FAILED (failures=1)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值