15届蓝桥杯(软件测试)单元测试专项练习解析【python篇】

第一题单元测试题目解析(Python)

import unittest
from weightlifting import Weightlifting

# 单元测试
# 1. 请使用基本路径覆盖法对被测源代码 Weightlifting 类中的 divide 方法设计 5 条单元测试用例。
# 2. 请在下方 WeightliftingTest 类中填写单元测试代码内容。

class WeightliftingTest(unittest.TestCase):

    def test_divide_01(self):
        # TODO 请填写单元测试代码
        self.assertEqual("性别异常",Weightlifting.divide("异常", 50))
    def test_divide_02(self):
        self.assertEqual("可以参加男子组比赛",Weightlifting.divide("男",54))
    def test_divide_03(self):
        self.assertEqual("无资格参赛",Weightlifting.divide("男",50))
    def test_divide_04(self):
        self.assertEqual("可以参加女子组比赛",Weightlifting.divide("女",46))
    def test_divide_05(self):
        self.assertEqual("无资格参赛",Weightlifting.divide("女",40))

if __name__ == '__main__':
    unittest.main()

第二题单元测试题目解析(Python)

import unittest
from number_sort import NumberSort

# 单元测试
# 1. 请使用基本路径覆盖法对被测源代码 NumberSort 类中的 sort 方法设计 6 条单元测试用例。
# 2. 请在下方 NumberSortTest 类中填写单元测试代码内容。

class NumberSortTest(unittest.TestCase):

    def test_sort_01(self):
        # TODO 请填写单元测试代码
        self.assertEqual("bac", NumberSort.sort(2, 1, 3))
    def test_sort_02(self):
        self.assertEqual("bca", NumberSort.sort(3, 1, 2))
    def test_sort_03(self):
        self.assertEqual("cba", NumberSort.sort(3, 2, 1))
    def test_sort_04(self):
        self.assertEqual("abc", NumberSort.sort(1, 2, 3))
    def test_sort_05(self):
        self.assertEqual("acb", NumberSort.sort(1, 3, 2))
    def test_sort_06(self):
        self.assertEqual("cab", NumberSort.sort(2, 3, 1))
    
if __name__ == '__main__':
    unittest.main()

第三题单元测试题目解析(Python)

import unittest
from utils import Utils

# 单元测试
# 1. 请使用简单循环覆盖法对被测源代码 Utils 类中的 string_style 方法设计 6 条单元测试用例。
# 2. 请在下方 UtilsTest 类中填写单元测试代码内容。

class UtilsTest(unittest.TestCase):
    #循环0次
    def test_string_style_01(self):
        # TODO 请填写单元测试代码
        self.assertEqual('abcdefghijkl', Utils.string_style('abcdefghijkl', 3, 12))
    #循环1次
    def test_string_style_04(self):
        self.assertEqual('abcdefghijk ', Utils.string_style('abcdefghijk', 3, 12))
    #循环2次
    def test_string_style_05(self):
        self.assertEqual('abcdefghij  ', Utils.string_style('abcdefghij', 3, 12))
    #循环中间次(m)
    def test_string_style_02(self):
        self.assertEqual('abcdef      ', Utils.string_style('abcdef', 3, 12))
    #循环n-1次
    def test_string_style_06(self):
        self.assertEqual('abcd        ', Utils.string_style('abcd ', 3, 12))
    #循环n次
    def test_string_style_03(self):
        self.assertEqual('abc         ', Utils.string_style('abc', 3, 12))

if __name__ == '__main__':
    unittest.main()

第四题单元测试题目解析(Python)

import unittest
from datas import Datas
from goods_service import GoodsService

# 单元测试
# 1. 请使用简单循环覆盖法对被测源代码 Goods 和 GoodsService 类中的 shopping_cart 方法设计单元测试用例。
# 2. 请在下方 GoodsServiceTest 类中填写单元测试代码内容。
# 3. 请使用 Datas 类中提供的集合列表和商品对象的数据进行测试。

class GoodsServiceTest(unittest.TestCase):

    #购物车不存在
    def test_shopping_cart_01(self):
        # TODO 请填写单元测试代码
        goods_list1=GoodsService.shopping_cart(None, Datas.g1)
        self.assertIsNotNone(goods_list1)
    #循环0次
    def test_shopping_cart_02(self):
        goods_list2=GoodsService.shopping_cart(Datas.goods_list2,Datas.g1)
        self.assertEqual(1, Datas.goods_list2[0].id)
        self.assertEqual(2, Datas.goods_list2[0].quantity)
    #循环1次
    def test_shopping_cart_03(self):
        goods_list3=GoodsService.shopping_cart(Datas.goods_list3,Datas.g1)
        self.assertEqual(1, Datas.goods_list3[0].id)
        self.assertEqual(4, Datas.goods_list3[0].quantity)
    #循环2次
    def test_shopping_cart_04(self):
        goods_list3=GoodsService.shopping_cart(Datas.goods_list3,Datas.g2)
        self.assertEqual(2, Datas.goods_list3[1].id)
        self.assertEqual(4, Datas.goods_list3[1].quantity)
    #循环m次
    def test_shopping_cart_05(self):
        goods_list3=GoodsService.shopping_cart(Datas.goods_list3,Datas.g5)
        self.assertEqual(5, Datas.goods_list3[4].id)
        self.assertEqual(4, Datas.goods_list3[4].quantity)
    #循环n-1次
    def test_shopping_cart_06(self):
        goods_list3=GoodsService.shopping_cart(Datas.goods_list3,Datas.g8)
        self.assertEqual(8, Datas.goods_list3[7].id)
        self.assertEqual(4, Datas.goods_list3[7].quantity)
    #循环n次
    def test_shopping_cart_07(self):
        goods_list3=GoodsService.shopping_cart(Datas.goods_list3,Datas.g9)
        self.assertEqual(9, Datas.goods_list3[8].id)
        self.assertEqual(4, Datas.goods_list3[8].quantity)
    #新增商品在购物车列表不存在
    def test_shopping_cart_08(self):
        goods_list3=GoodsService.shopping_cart(Datas.goods_list3,Datas.g10)
        self.assertEqual(10, Datas.goods_list3[9].id)
        self.assertEqual(2, Datas.goods_list3[9].quantity)
if __name__ == '__main__':
    unittest.main()
  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

饶宇航

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值