2023(春)Python程序设计作业6:基于unitest的Python测试

搁浅1256 2023-春-学生 2023-06-21 20:32:26

一、实验要求

  • 学习unittest的基本概念和用法
  • 能够独立编写unittest测试用例
  • 熟悉测试驱动开发(TDD)思想

二、实验环境说明

  • 操作系统:Windows/Linux/MacOS
  • Python版本:3.x
  • 集成开发环境:可选,建议使用PyCharm

三、实验目的

  • 掌握Python中的单元测试框架unittest的使用方法
  • 理解测试驱动开发(TDD)的基本思想和流程
  • 培养编写高质量代码的习惯

四、实验题目

  • 要求三角型的三个边长:A、B 和C(最大值不超过100)。当三边不可能构成三角形时提示错误。若是等腰三角形打印“等腰三角形”,若是等边三角形,则提示“等边三角形”,其它情形则返回“一般三角形”。  
  • 完成:Python程序代码、设计测试用例(覆盖有效等价类、无效等价类),并给出基于unittest测试的代码。

1.  三角形类代码

class Triangle:
    def __init__(self, a, b, c):
        self.a = a
        self.b = b
        self.c = c
 
    # 判断是否是三角形
    def IsTriangle(self):
        if self.a + self.b > self.c and self.b + self.c + self.a and self.a + self.c > self.b:
            return True;
        return False;
 
    # 返回三角形类型:
    #  一般三角形、等腰三角形、
    #  等边三角形、不构成三角形
    def getType(self):
        if self.a == self.b == self.c and self.IsTriangle():
            return "等边三角形";
        elif (self.a == self.b or self.b == self.c or self.a == self.c) and self.IsTriangle():
            return "等腰三角形";
        elif self.IsTriangle():
            return "一般三角形";
        else:
            return "不构成三角形";

2.  测试用例类代码

from triangle import Triangle
import unittest
 
 
class TestTriangle(unittest.TestCase):
    def setUp(self):
        pass
 
    def tearDown(self):
        pass
 
    def test_IsTriangle1(self):  # 一般三角形
        self.tri =Triangle(3,4,5)
        self.IsTriangle = self.tri.IsTriangle()
        self.assertEqual(self.IsTriangle, True)
 
    def test_IsTriangle2(self):  # 无法构成三角形
        self.tri = Triangle(3,3,6)
        self.IsTriangle = self.tri.IsTriangle()
        self.assertEqual(self.IsTriangle, False)
 
    def test_IsTriangle3(self):  # 等边三角形
        self.tri = Triangle(6,6,6)
        self.assertEqual(self.tri.getType(), "等边三角形")
 
    def test_IsTriangle4(self):  # 等腰三角形
        self.tri = Triangle(3,3,2)
        self.assertEqual(self.tri.getType(), "等腰三角形")

3.  运行测试用例

if __name__ == '__main__':
    # 构造测试集
    suite = unittest.TestSuite()
    suite.addTest(TestTriangle("test_IsTriangle1"))
    suite.addTest(TestTriangle("test_IsTriangle2"))
    suite.addTest(TestTriangle("test_IsTriangle3"))
    suite.addTest(TestTriangle("test_IsTriangle4"))
 
    # 执行测试
    runner = unittest.TextTestRunner()
    runner.run(suite)

4.  运行结果

 

...全文
752 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
源码下载地址: https://pan.quark.cn/s/572a538835a2 ### 关于VOC2012训练数据集的说明 #### 1. 数据集的基本介绍 VOC2012(Visual Object Classes 2012)是Pascal VOC挑战赛中的一个重要组成部分,该挑战赛被视为一种广泛应用的图像识别和物体检测基准数据集。VOC2012主要应用于衡量计算机视觉算法在对象分类、定位以及检测任务上的表现水平。它包含了大量经过标注的图像,这些图像涉及多个不同的类别,并且图像中的每一个对象都经过了细致的标记处理。 #### 2. 数据集的主要特性 - **丰富性**:VOC2012数据集收集了20个不同的类别,涵盖了诸如汽车、自行车、鸟类、猫科动物、椅子等常见的物体。 - **容量**:该数据集总共包含了约5000张用于训练的图像和约5000张用于验证的图像。 - **详细标注**:每张图像中的对象都经过了详尽的标注,包括对象的边界框和类别标识。 - **普遍适用性**:VOC2012被普遍应用于学术研究和工业应用中,作为衡量各种计算机视觉技术的标准参照之一。 #### 3. 数据集的组成成分 VOC2012数据集主要可以划分为以下几个部分: - **训练部分**:包括约2500张用于模型训练的图像。 - **验证部分**:包括约2500张用于调整模型参数的图像。 - **测试部分**:包括约4952张用于最终评估模型性能的图像。 - **标注文件**:每个图像都配备有一个XML文件,其中记录了图像中对象的位置信息和类别标签。 #### 4. 数据集的获取途径及使用方法 根据提供的信息,VOC2012训练数据集可以通过以下链接进行获取: - **获取...
已经博主授权,源码转载自 https://pan.quark.cn/s/0b6e0560b339 在信息技术领域中,网络设备的配置与管理构成了核心环节,特别是对于企业级网络架构而言。华为作为全球领先的网络设备生产商,其产品被广泛部署于不同规模的网络系统中。本篇将重点阐述如何借助ENSPLite(简称ENSP)对华为交换机实施配置与维护,以及设备包数据导入的操作方法。 ENSP的完整名称为Enterprise Network Simulation Platform Lite,这是一款由华为研发的网络仿真工具,它支持用户在虚拟场景下对网络设备,如路由器、交换机等进行模拟与测试。这种功能为学习华为网络技术、执行设备配置以及诊断故障提供了极大的支持。 我们接下来分析“导入设备包”的含义。在ENSP平台上,设备包是指包含特定华为设备型号及软件版本的资料文件,通过导入这些资料文件,用户能够在虚拟环境中构建出与真实设备高度相似的仿真模型,从而进行配置操作和实验验证。举例来说,“CE.rar”极有可能是一款华为CE系列交换机的设备包,CE系列是华为推出的面向企业应用的核心交换机,具备优异的性能表现和极高的可靠性,常被应用于数据中心及大型企业网络环境中。 设备包导入的操作流程如下: 1. **获取设备包**:用户需要从华为的官方网站或相关的技术支持社区获取对应型号的设备包,例如“CE.rar”。 2. **部署ENSP**:保证已安装最新版本的ENSP软件,并启动该程序。初次使用时,可能需要完成一些基础设定,比如设定工作路径等。 3. **执行设备包导入**:在ENSP的操作界面中,选择“文件”选项卡,随后点击“导入”功能,定位到已下载的“CE.rar”文件,并依照指引完成导入动作。此步骤...

162

社区成员

发帖
与我相关
我的任务
社区描述
软件工程老师
python 高校 江苏省·南通市
社区管理员
  • juking@ntu
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧