美文网首页
真实项目中如何使用pytest进行单元测试(结合PyCharm)

真实项目中如何使用pytest进行单元测试(结合PyCharm)

作者: 言午日尧耳总 | 来源:发表于2020-12-19 17:16 被阅读0次

真实项目中如何使用pytest进行单元测试(结合PyCharm)

目的

网上很多介绍pytest的文章,但是很少结合实际开发,多为简单demo。以下介绍结合实际项目如何使用。

主要内容

  • 创建普通项目
  • 添加pytest依赖
  • 创建测试目录
  • 执行测试
  • 结合PyCharm
  • 参考文献

创建普通项目

创建一个项目根目录"pytest-demo"

添加项目文件,目录结构如下


pytest-demo

  • demo
    • __init__.py
      • utils
        • __init__.py
        • math_helper.py

math_helper.py如下

class MathHelper(object):
    def addition(self, first, second):
        """
        加法
        :param first: 第一个参数
        :param second: 第二个参数
        :return: 相加后的结果
        """
        # 先判断传入类型
        if not isinstance(first, (int, float)):
            raise ValueError("first参数必须为数值")
        if not isinstance(second, (int, float)):
            raise ValueError("second参数必须为数值")
        # 返回结果
        return first + second

添加pytest依赖

$ pip install pytest

添加单元测试目录

在根目录下创建单元测试目录"tests"(注意要创建成package,方便全量测试)

对应添加测试类,测试类文件名必须为test_*.py 或 *_test.py,命名规则可查看pytest官方文档

最终目录结构如下


pytest-demo

  • demo
    • __init__.py
      • utils
        • __init__.py
        • math_helper.py
  • tests
    • demo
      • __init__.py
        • utils
          • __init__.py
          • test_math_helper.py

test_math_helper.py如下

import pytest
from demo.utils.math_helper import MathHelper


def test_addition():
    # 初始化
    helper = MathHelper()
    # 输入错误类型,预期接收ValueError的报错
    with pytest.raises(ValueError):
        helper.addition("1", 2)
    with pytest.raises(ValueError):
        helper.addition(1, "2")
    # 正确调用
    result = helper.addition(1, 2)
    # 使用assert判断结果
    assert result == 3

执行测试用例

$ pytest

即可执行所有测试,并给出结果

结合PyCharm

  • 设置PyCharm默认测试类型
  1. 打开 File > Settings > Tools > Python Integrated Tools > Testing > Default test runner
  2. 修改下拉框,改为"pytest"
  3. 右键单元测试文件,点击"run",即可执行测试,在下方的"Run"窗口也有相应的测试结果
  • 设置执行所有测试
  1. 右键"tests"文件夹,选择"Run"
  2. 接下来就直接跑目录下所有的测试用例了,在下方的"Run"窗口可以看到测试信息
  3. 如果报错找不到模块时,需要打开右上角的编辑启动项,先删除旧信息,否则会有缓存

参考文献

pytest官方文档

相关文章

  • 真实项目中如何使用pytest进行单元测试(结合PyCharm)

    真实项目中如何使用pytest进行单元测试(结合PyCharm) 目的 网上很多介绍pytest的文章,但是很少结...

  • pytest学习

    使用环境准备 python==3.6.7 pycharm pytest 5.0.1 pytest用例规范 测试文件...

  • 使用 Gomock 进行单元测试

    原文地址:使用 Gomock 进行单元测试 前言 在实际项目中,需要进行单元测试的时候。却往往发现有一大堆依赖项。...

  • 如何使用idea进行SSM的单元测试

    如何使用idea进行SSM的单元测试 在idea的javaweb项目中我们难免要进行测试,那么如何避免启动tomc...

  • pytest-django简单使用记录

    pytest是一款简单的测试库,方便对于自己的代码进行单元测试,简单的学习使用了一下。 安装 pytest-dja...

  • Pytest-安装&运行

    一、安装 1)新建项目,在PyCharm上进行安装pytest即可 2)pip install-U pytest ...

  • pytest学习笔记

    使用环境 python3 pycharm pytest pytest编写规范 测试文件以test_开头或以_tes...

  • pytest-快速上手

    简介 pytest是Python的单元测试框架,同自带的unittest框架类似,但pytest框架使用起来更简洁...

  • 我的收藏

    结合flexible.js的rem布局方案 如何在Vue项目中使用vw实现移动端适配 React Native 项...

  • 如何运行pytest项目

    一、以pycharm界面的运行按钮进行运行 用pycharm打开你的pytest项目,在上方的run中点击运行这个...

网友评论

      本文标题:真实项目中如何使用pytest进行单元测试(结合PyCharm)

      本文链接:https://www.haomeiwen.com/subject/ibscnktx.html