父类
class MathMethod:
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
def abs(self):
return abs(self.a-self.b)
#unittest pytest 两个关于测试的类
#测试用例 序号 步骤 参数 期望结果
#执行用例 对比实际结果与期望结果 failed pass
#生成测试报告
子类
#TestCase类 专门写用例的
import unittest
from new_file.new0428 import MathMethod
class TestMethod(unittest.TestCase):
#测试add方法
# 两个0相加 ,两个负数相加 一正一负相加
# 用例的写法:每一条用例都是一条def test_ 用例描述(self):
#必须用test_开头
def test_add_twozero(self):
result=MathMethod(0,0).add()
expected=1
try : # 使用异常将错误捕获,但是因为捕获了错误不便于查看异常,再用raise 抛出异常
self.assertEqual(expected,result)
except AssertionError as e:
print("断言出错,错误为{}".format(e))
raise e # 将错误再次抛出
print("两个0相加的结果是{}".format(result))
def test_add_twofu(self):
result = MathMethod(-1,-1).add()
expected = -2
try:
self.assertEqual(expected, result)
except AssertionError as e:
print("断言出错,错误为{}".format(e))
raise e
print("两个负数相加的结果是{}".format(result))
def test_add_zhengfu(self):
result = MathMethod(-1,2).add()
expected = 1
try:
self.assertEqual(expected, result)
except AssertionError as e:
print("断言出错,错误为{}".format(e))
raise e
print("正负数相加的结果是{}".format(result))