Python基础-单元测试

这期知识点好多,脑袋要炸了~

首先是要被测试的文件代码如下:

(一定要注意缩进!!!本人就是没有注意缩进导致测试时找不到待测对象浪费好长时间qwq)

class ShoppingList:
    """初始化购物清单,shopping_list是字典类型,把shopping_list属性赋值为传入的字典,字典里包含商品名和商品对应价格包含商品名和对应价格
    例子:{“牙刷”:5,“沐浴露”:15,“电池”:7}"""
    def __init__(self,shopping_list):
        self.shopping_list=shopping_list
        """返回购物清单上有多少项商品"""
    def get_item_count(self):
        return len(self.shopping_list)
        """返回商品购物清单商品价格总额数字"""
    def get_total_price(self):
        total_price=0
        for price in self.shopping_list.values():
            total_price+=price
        return total_pricez
  • 在同根目录下新建py文件,命名以test_开头更加规范
  • 首先要引用unittest库:import unittest
  • 然后是:from 测试文件名 import 测试类名
  • 然后创建测试类:class Test+类名(//这样命名更加规范)(unittest.TestCase):  表示引用unittst类下的TestCase子类
  • 定义方法:首先定义一个setUp()方法,然后创建测试对象(//减少代码冗余)
  • 创建格式为self.被测试类中的字典名=类名(字典内容)(//这里举例为字典,values)
  • 再定义测试方法:def test_被测试方法名():

                self.assertEqual(setUp方法里对象名.被测试方法名(),应返回数值)

代码如下:

import unittest
from py_1 import ShoppingList
class TestShoppingList(unittest.TestCase):
    def setUp(self):
        self.shopping_list = ShoppingList({"纸巾": 8, "帽子": 30, "拖鞋": 15})
        #使用setUp方法创建测试对象作为属性,减少代码重复,
    def test_get_item_count(self):
        self.assertEqual(self.shopping_list.get_item_count(),3)

    def test_get_total_price(self):
        self.assertEqual(self.shopping_list.get_total_price(),53)

测试代码编写好后,在测试终端输入:python -m unittest进行测试。执行两条均成功为··,第一个失败则为F·

(终端:在pycharm页面下方点击Terminal进入local终端)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值