使用unitest编写测试类

2、第二题,使用unitest编写测试类:

class Calculator:    
    def add(a, b):
        return a + b
    
    def subtract(a, b):
        return a - b
    
    def multiply(a, b):
        return a * b
    
    def divide(a, b):
        if b == 0:
            raise ValueError("Cannot divide by zero")
        return a / b

答案:

第一个python文件 CalculatoTest.py

import unittest  
class TestCalculator(unittest.TestCase):  
    def test_add(self):  
        self.assertEqual(Calculator.add(2, 3), 5)  
        self.assertEqual(Calculator.add(-1, 1), 0)  

    def test_subtract(self): 
        self.assertEqual(Calculator.subtract(5, 3), 2) 
        self.assertEqual(Calculator.subtract(1, -1), 2) 

    def test_multiply(self):  
        self.assertEqual(Calculator.multiply(2, 3), 6)  
        self.assertEqual(Calculator.multiply(-1, 1), -1)  

    def test_divide(self):  
        self.assertEqual(Calculator.divide(6, 3), 2)  
        self.assertEqual(Calculator.divide(-1, 1), -1) 
        with self.assertRaises(ValueError): 
            Calculator.divide(6, 0) 

第二个文件run_calculatorTest

if __name__ == '__main__':
    test_suite=unittest.TestSuite()
    test_suite.addTest(TestCalculator('test_add'))#加用例单个用例方法
    test_suite.addTest(TestCalculator('test_subtract'))
    test_suite.addTest(TestCalculator('test_multiply'))
    test_suite.addTest(TestCalculator('test_divide'))
    runner = unittest.TextTestRunner()
    # with open('report.html','wb') as fw:
    #     runner=HTMLTestRunner.HTMLTestRunner(stream=fw,title='接口测试报告',description=
    #                                          '第一次接口测试报告',verbosity=2
    #                                          )
    runner.run(test_suite)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值