首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何将程序启动代码(__name__ == "__main__")排除在pytest覆盖率报告中?

在pytest中,可以通过在配置文件中设置覆盖率报告的过滤选项来排除特定的代码行,包括将程序启动代码__name__ == "__main__"排除在报告中。

以下是一种实现的方式:

  1. 在项目根目录下创建一个配置文件pytest.ini
  2. pytest.ini中添加以下内容:
代码语言:txt
复制
[run]
omit = */__main__.py

这里的*/__main__.py表示要排除的代码文件路径,*/表示项目根路径,__main__.py表示程序启动代码所在的文件。

这样配置后,在运行pytest命令时,覆盖率报告将会排除程序启动代码的统计,只统计其他代码的覆盖率。

请注意,这种方式仅适用于使用pytest-cov插件进行覆盖率统计的情况。如果你使用其他的覆盖率工具或插件,请参考相应工具或插件的文档,查找相关的配置选项来排除代码行。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Pytest和Allure测试框架-超详细版+实战

执行unittest的测试用例 8,pytest-html生成报告 六,日志管理及代码覆盖率 1, pytestlogging的应用 2, 日志及级别的含义 3, 代码覆盖率-多用在单元测试 4,allure...更多功能 1.更多功能查看官方文档【https://github.com/pytest-dev/pytest-html】 六,日志管理及代码覆盖率 1, pytestlogging的应用 2, 日志及级别的含义...3, 代码覆盖率-多用在单元测试 一,上篇(—- pytest-cov) 简介: pytest-cov 是pytest的一个插件,其本质也是引用 python coverage 库 用来统计代码覆盖率...,程序代码跟测试脚本必须在同一个文件下。 –cov-report=html 生成报告 ,只需要python run.py 就可以运行 coveragerc 意思是跳过某些脚本的覆盖率测试。...我这边是flask 启动的,所以flask启动代码上添加,如下: if __name__ == '__main__': cov = Coverage() cov.start() #

2.1K40

Python 单元测试详解

六、单元测试覆盖率报告 coverage 是 Python 推荐使用的覆盖率统计工具。 pytest-cov 是 pytest 的插件,它可以让你在 pytest 中使用 cpverage.py。...HtmlTestRunner,需要在代码里面写入一点配置,但是报告生成比较美观。 coverage 和 pytest-cov 只需要配置,就可直接使用,不需要测试代码配合。...2.2 运行 代码中加上 HTMLTestRunner,如下 import HtmlTestRunner # some tests here if __name__ == '__main__':...或者指定目录:  pytest --cov=src --cov-report=html 3.3 结果 会生成 htmlcov/index.html 文件,浏览器查看,类似于 coverage 的报告。...可能的问题 4.1 报告没生成 如果出现不了报告,pycharm 运行的时候,记得选择 python,而不是 Python tests 4.2 Pycharm 配置覆盖率展示 可选择 unittest

2.5K80
  • Python自动化测试面试:unittest、pytest与Selenium详解

    Python自动化测试的面试过程,对unittest、pytest与Selenium这三个核心工具的理解和应用能力是面试官重点关注的对象。...测试覆盖率报告生成:使用coverage模块计算代码覆盖率。易错点与避免策略:测试代码冗余:利用setUp和tearDown方法进行初始化和清理工作,避免重复代码。...忽视异常处理:测试代码妥善处理预期外的异常,防止测试中断。...__ == '__main__': unittest.main()2. pytest:高级测试框架常见问题:** fixtures 的使用与管理**:理解fixture作用域、依赖注入、自动发现等功能...测试报告生成:整合Allure、JUnit等报告工具。易错点与避免策略:盲目硬编码等待时间:优先使用预期条件等待,提高测试稳定性。

    34610

    用Python进行单元测试

    因为我们开发的时候,就是边写代码、边执行程序。如果有问题,肯定会及时修改。特别是对有丰富开发经验的程序员,编写的代码错误的确很少。 不过,BUG是难免的。...再安装一个模块:pytest-cov,运用它,能够检测到测试的代码覆盖率。...(venv) $ pip install pytest-cov 执行命令pytest --cov=fizzbuzz,运行单元测试,注意命令行的参数列表,声明了为fizzbuzz模块启用代码覆盖率跟踪...pytest-cov提供了多种格式的最终报告,像下面的执行那样,增加了--cov-report=term-missing,就会在最终报告增加一列Missing,这里会显示未覆盖的代码行。...__ == '__main__': # pragma: no cover main() 注意,只需要在第17行添加注释即可,这是因为,单元测试程序会在此行捕获该“异常”,并作用域这个代码

    3.2K20

    Python构建自动化测试框架

    命令行,转到测试文件所在的目录,并运行以下命令: pytest pytest将自动发现并执行测试用例,并生成详细的测试报告。如果一切顺利,你将看到所有测试用例通过的消息。...让我们以一个简单的示例来说明如何集成自动化测试框架到CI/CD流程。假设我们使用GitHub作为代码托管平台,Travis CI作为持续集成工具,我们将在每次提交时运行测试并自动生成测试报告。...Python,我们可以使用coverage.py库来检查测试覆盖率。我们可以将其集成到我们的自动化测试框架,以便在每次测试运行时自动检查代码覆盖率。...集成持续集成和持续部署(CI/CD):说明了如何将自动化测试框架集成到CI/CD流程,以实现自动化测试和部署,加速软件交付过程。...集成测试覆盖率检查:介绍了如何使用coverage.py库来检查代码的测试覆盖率,并将其集成到自动化测试框架,以提高测试的完整性和质量。

    19540

    Python测试框架之pytest详解

    文档 官方文档:https://docs.pytest.org/en/latest/contents.html pytest框架,有如下约束: 所有的单测文件名都需要满足test_*.py格式或*...单测文件,测试类以Test开头,并且不能带有 init 方法(注意:定义class时,需要以T开头,不然pytest是不会去运行该class的) 单测类,可以包含一个或多个test_开头的函数...此时,执行pytest命令时,会自动从当前目录及子目录寻找符合上述约束的测试函数来执行。...-p no:doctest 6.10 从Python代码调用pytest pytest.main() # 基本用法 pytest.main(['-x', '...Also consider using tox 遇到的问题 问题: pytest可以输出覆盖率的html报告 使用命令如下: pytest -vv --cov=./ --cov-report=html

    2.3K20

    Pytest测试实战|参数化

    Pytest参数化实战 Pytest测试框架参数化主要是通过parametrize来进行实现的,下面先以一个两个数相加为案例来演示下这部分的案例使用,案例以及测试代码如下: #!...Pytest参数化,可以使用多种不同的数据结构,如列表、元组、字典等数据类型,依然适用于上面的代码,把测试数据使用字典的形式来进行存储,改造后的代码如下: #!...__ == '__main__': pytest.main(["-s","-v","test_add.py"]) 使用测试数据驱动的思想,一般都会把数据分离到文件,文件的形式当然可以选中多种不同的数据类型...)) def test_add(data): assert add(a=data['x'], b=data['y']) == data['result'] if __name__ == '__main...,能够减少编写重复的代码,从而达到测试覆盖率场景最大化的覆盖。

    13610

    Pytest篇】Allure生成漂亮的HTML图形化测试报告(一))

    Python Pytest装饰器@pytest.mark.parametrize详解 一、Allure测试报告介绍 Allure是一款非常轻量级并且非常灵活的开源测试报告生成框架。...它支持绝大多数测试框架, 例如TestNG、Pytest、JUint等。它简单易用,易于集成。 二、Pytest框架集成Allure Pytest是Python的单元测试框架,非常方便和易用。...后面我将用一整篇文章介绍Pytest测试框架。今天我们主要是介绍如何将测试报告生成工具Allure集成到Pytest。...六、cmd下生成测试报告 test\report\result下生成json测试报告 C:\Users\wangli\PycharmProjects\Test\test pytest -s -q...__name__=="__main__": #pytest.main(["-v","test03.py",'--alluredir','result']) #生成测试报告json

    5.6K32

    研效优化实践:Python单测——从入门到起飞

    选定的文件pytest 类之外查找带前缀的测试函数,并在带前缀的测试类查找带前缀的测试方法(无__init__()方法)。... pytest ,它们是您定义的用于此目的的函数。它们还可用于定义测试的 行为阶段;这是设计更复杂测试的强大技术。...session_mocker = pytest.fixture(scope="session")(_mocker) 三、覆盖率 覆盖率是用来衡量单元测试对功能代码的测试情况,通过统计单元测试对功能代码中行...接入公司覆盖率平台 如果所在公司有覆盖率检测平台,接入原理很简单。通过发布流水线集成项目代码,拉取到构建机,将上面本地跑的 coverage 放到构建机上执行,将结果上报到远端平台。...后记 腾讯安全平台部实际研发与测试工作,单元测试是保证代码质量的有效手段,也是效能优化实践的重要一环。

    1.9K60

    与 coveralls 的不解之缘

    coverage report -m 发现,这个单元测试的覆盖率果然是程序自动统计出来的,coverage 真的太牛了,有了这个,写单元测试就无法偷懒了,代码质量就有了量化标准。...猜测 coverage 应该是记录了 pytest 调用的代码行数,然后从全部代码行记录中去除已经测试过的行记录,就是未测试的代码行,从而统计覆盖率。...,发现 coverage run --source=dbinterface -m pytest tests/ 命令会将测试的结果写入到文件 .coverage ,再执行 coverage report...继续 Debug,这里说下,由于我们的命令是路径 /Users/aaron/github/somenzz/dbinterface 下执行的, Debug 前,先使用 os.chdir 改变程序的工作目录...,执行的操作都完整的显示了出来,将这些数据保存到文件,就可以进行单元测试覆盖率的统计了。

    59210

    自动化测试用例规范

    不管是市场需求还是测试效率而言,自动化测试都是作为测试工程师需要掌握的一门技术,并且公司能够逐步的应用到常规的测试,如回归测试。...所以,每个测试维度的断言一定要合理,这样程序在出问题的情况下也是能够验证出它的问题。...动态性 特别是API的测试由于业务关联性的特点,导致业务流转过程中会有很多的动态数据,这些动态数据每次业务操作的过程中都是动态变化的,很难使用静态的数据来完成业务的闭环测试。...__ == '__main__': pytest.main(["-s","-v","test_index.py"]) 如上代码就是通过Fixture函数来处理动态参数值传递的过程。...__ == '__main__': pytest.main(["-s","-v","test_login.py","--browser chromium"]) 如上针对登录与发送邮件单独的封装成一个函数

    41130

    python allure报告_Pytest+Allure 定制报告

    前言: 最近在研究接口自动化的框架,好的测试报告整个测试框架起到至关重要的部分。终于被我发现一个超好用的报告框架,不仅报告美观,而且方便 CI 集成。...解决办法: 1、 pycharm 右击 index.html 选择打开方式 Open in Browser 就可以了。 2、使用 Firefox 直接打开 index.html。...4 、Severity 定制详解 Allure 对严重级别的定义: 1、 Blocker 级别:中断缺陷(客户端程序无响应,无法执行下一步操作) 2、 Critical 级别:临界缺陷( 功能点缺失).../test.png’, ‘rb’).read() allure.attach(‘test_img’, file, allure.attach_type.PNG) 报告增加附件:allure.attach...(’arg1’,’arg2’,’arg3’): arg1:是报告显示的附件名称 arg2:表示添加附件的内容 arg3:表示添加的类型 (支持:HTML,JPG,PNG,JSON,OTHER,TEXTXML

    51350

    pytest测试框架和unittest_python性能测试框架

    pytest 丰富,灵活的测试框架,语法简单,可以结合allure生成一个酷炫的测试报告,现在比较主流 Nose nose是对unittest的扩展,使得python的测试更加简单 Mock unittest.mock...是用来测试python的库 单元测试覆盖率 代码覆盖率也被用于自动化测试和手工测试来度量测试是否全面的指标之一,应用覆盖率的思想增强测试用例的设计 单元测试覆盖类型: 语句覆盖 条件覆盖..._name__ =='__main__': unittest.main() 加入容器执行 示例: suite=unittest.TestSuite() suite.addTest(TestMethod...5,整个过程集成unittest.main模块; 6,TeseCase可以是多个,TestSuit也可以是多个; unittest结合htmltestrunner 生成日志的测试报告 http:/...if __name__ =='__main__': sys.path.append('/User/') # 设置报告的路径 report_path = os.path.join

    62820
    领券