iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >如何实现进行Python测试模块
  • 119
分享到

如何实现进行Python测试模块

2023-06-17 16:06:09 119人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

小编给大家分享一下如何实现进行python测试模块,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!为了更容易实现这种Python 测试模块,避免多次复制并粘贴测试函

小编给大家分享一下如何实现进行python测试模块,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

为了更容易实现这种Python 测试模块,避免多次复制并粘贴测试函数以及设置惟一的名称,py.test 和 nose 都支持衍生测试,它实际上是一个迭代器,然后使用它的 yield 语句并提供调用参数。

但是,之后它们都会遇到相同的情况:它们必须检查模块列表,寻找开发人员希望作为测试运行的函数和类。正如在前一篇文章中看到的,py.test 往往选择单一标准,期望使用它的所有项目都遵守这一标准;而 nose 允许更丰富的定制,但是这会牺牲行为的可预测性。

对于测试发现,也是如此:py.test 按照固定、不可变且可预测的规则检测测试模块中的测试,而 nose 采用灵活的可定制的规则。如果项目使用 nose 执行测试,就先必须阅读项目的 Python 测试模块,了解 nose 是采用通常的测试检测规则,还是采用这个项目特有的规则。

下面是 py.test 使用的过程:

class CateGory(models.Model):         id = models.AutoField('id', primary_key=True)         name = models.CharField(maxlength=50)         code = models.CharField(maxlength=50)         parentCategory = models.ForeignKey('self', 'id', null=True)         enable = models.BooleanField()                  def __str__(self):             return self.name                  class Admin:             list_display = ('id', 'name', 'code', 'parentCategory')

当 py.test 检查 Python 测试模块的内部时,它收集名称以 test_ 开头的每个函数和名称以 Test 开头的每个类。无论类是否继承自 unittest.TestCase,它都会收集它们。测试函数直接运行,但是对于测试类,还必须搜索方法。类实例化之后,作为测试运行名称以 test_ 开头的所有方法。

如果测试类继承自标准的 Python unittest.TestCase 类,py.test 框架会表现出一种古怪的行为:如果类不包含 runTest() 方法,那么即使它包含几个 test_ 方法,py.test 也会抛出异常并失败。但是,如果存在 runTest() 方法,py.test 会忽略它;这个方法必须存在,py.test 才能接受这个类,但是不会运行这个方法,因为它的名称不是以 test_ 开头的。

为了纠正这种行为,可以在项目的 conttest.py 文件中或使用 -p 命令行选项激活框架的 unittest 插件:这会让 py.test 对其行为做三个更改。首先,不再只检测名称以 Test 开头的类,还会检测继承自 unittest.TestCase 的其他类。

第二,对于没有提供 runTest() 方法的 TestCase 子类,py.test 不再报告异常。第三,在类包含的测试之前和之后,以标准方式正确地运行 TestCase 子类中的所有 setUp() 和 tearDown() 方法。

尽管 nose 提供更强的定制能力,但是比较简单的测试发现过程如下:当 nose 检查 Python 测试模块的内部时,它采用在选择测试模块时使用的正则表达式。收集与这个正则表达式匹配的函数和类。(在默认情况下,寻找包含单词 Test 或 test 的名称,但是可以通过命令行或配置文件提供不同的正则表达式)。

当 nose 检查测试类的内部时,它运行与同一正则表达式匹配的方法。无须特别指定,nose 总会检测 unittest.TestCase 的子类并作为测试使用它们。但是,它会根据自己的正则表达式决定哪些方法是测试,而不使用标准的 unittest 模式 ^test。

以上是“如何实现进行Python测试模块”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网Python频道!

--结束END--

本文标题: 如何实现进行Python测试模块

本文链接: https://www.lsjlt.com/news/290694.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何实现进行Python测试模块
    小编给大家分享一下如何实现进行Python测试模块,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!为了更容易实现这种Python 测试模块,避免多次复制并粘贴测试函...
    99+
    2023-06-17
  • 如何进行linux内核模块调试
    这篇文章将为大家详细讲解有关如何进行linux内核模块调试,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。 开启虚拟机,虚拟机运行到 kgdb: Waiting for connection ...
    99+
    2023-06-16
  • 如何进行模型的评估和测试
    数据集划分:首先,将数据集划分为训练集和测试集。通常情况下,训练集占总数据集的大部分(例如,70%),而测试集占剩余部分(例如,...
    99+
    2024-03-14
    Torch
  • 如何进行sysbench测试
    如何进行sysbench测试,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。sysbench支持以下几种测试模式:1、CPU运算...
    99+
    2024-04-02
  • 如何利用python进行接口测试
    这篇文章主要讲解了“如何利用python进行接口测试”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何利用python进行接口测试”吧!接口测试的坑第一个坑:POST 和 GET----GE...
    99+
    2023-06-30
  • 如何利用GitLab进行API测试和模拟
    如何利用GitLab进行API测试和模拟引言:在进行软件开发过程中,API(Application Programming Interface,应用程序编程接口)测试和模拟是非常重要的一步,它可以帮助开发人员验证API的正确性和性能,并且可...
    99+
    2023-10-27
    模拟 gitlab API测试
  • python concurrent.futures模块的测试方法
    本篇内容主要讲解“python concurrent.futures模块的测试方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python concurrent.futures模块的测试方法”...
    99+
    2023-06-20
  • 如何模拟 rand.Reader 的故障以进行测试?
    知识点掌握了,还需要不断练习才能熟练运用。下面编程网给大家带来一个Golang开发实战,手把手教大家学习《如何模拟 rand.Reader 的故障以进行测试?》,在实现功能的过程中也带大家重新温习相...
    99+
    2024-04-04
  • 如何进行opencv vector 测试
    这篇文章给大家介绍如何进行opencv vector 测试,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。#include <iostream>#include <cv.h>#...
    99+
    2023-06-04
  • Python如何实现模块和加载模块
    这篇文章主要介绍Python如何实现模块和加载模块,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!python可以做什么Python是一种编程语言,内置了许多有效的工具,Python几乎无所不能,该语言通俗易懂、容易入...
    99+
    2023-06-08
  • win10如何进入测试模式
    要进入Windows 10的测试模式,您可以按照以下步骤操作:1. 打开“设置”应用程序:您可以通过开始菜单中的搜索栏,在搜索框中键...
    99+
    2023-09-08
    win10
  • Keras中如何进行模型的评估和测试
    在Keras中,可以使用模型的evaluate()方法来对模型进行评估和测试。该方法接受输入数据和标签作为参数,并返回模型在测试数据...
    99+
    2024-03-12
    Keras
  • 如何在Torch中进行模型评估和测试
    在Torch中进行模型评估和测试通常需要以下步骤: 加载测试数据集:首先,加载用于评估和测试模型性能的测试数据集。可以使用Tor...
    99+
    2024-04-02
  • 如何进行java 8 forEach测试
    本篇文章为大家展示了如何进行java 8 forEach测试,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。package staticTest;import java.util.ArrayList;...
    99+
    2023-06-03
  • 如何进行sysbench压力测试
    如何进行sysbench压力测试,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。 对于很多线上业务而言,如果有新服务器,新的...
    99+
    2024-04-02
  • 如何进行C++单元测试?
    如何进行C++单元测试?C++是一种广泛使用的编程语言,常用于开发各种类型的应用程序。为了确保代码的质量和可靠性,进行单元测试是非常重要的。本文将介绍如何进行C++单元测试,以帮助开发人员更好地掌握这一技能。学习并选择合适的测试框架在进行C...
    99+
    2023-11-02
    测试框架 断言 C++ 单元测试
  • 使用wml进行npm模块调试
    要使用 wml 进行 npm 模块调试,您需要按照以下步骤操作:1. 首先,确保您已经在本地安装了 Node.js 和 npm。2....
    99+
    2023-09-21
    npm模块
  • python单元测试模块有哪些
    python中的单元测试模块有以下几种nosenose是一个Python的第三方单元测试模块,其兼容unittest,且具有用例编写、用例发现和执行、测试夹具、测试生成器和插件体系等功能。unittestunittest是Python标准库...
    99+
    2024-04-02
  • 如何进行Tokudb安装测试
    如何进行Tokudb安装测试,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 一 前言   To...
    99+
    2024-04-02
  • JpaRepository如何实现增删改查并进行单元测试
    目录JpaRepository增删改查进行单元测试项目结构单元测试SpringDataJPA的Repository理解repository抽取扩展理解接下来贴一贴代码JpaRepos...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作