Pycharm中脚本执行的3种模式——unittest框架、pytest框架及普通模式

一. Python 运行脚本的三种模式

a. unittest 框架

b. pytest 框架

c. 普通模式

二、PyCharm 默认使用 pytest 框架执行 unittest 框架的测试用例

三、如何修改Pycharm的脚本运行的模式?

方法1. 修改 PyCharm 默认的测试框架

方法2.  设置运行脚本时的默认框架

四、main() 函数的作用

场景一:执行单个测试用例

场景二:执行所有测试用例

五、生成并导出测试报告

a. 使用 unittest 生成测试报告

b. 使用 pytest 生成测试报告


一. Python 运行脚本的三种模式

a. unittest 框架

特点:Python 标准库中的单元测试框架,不需要额外安装。

运行方式:使用命令行:

python -m unittest test_file.py

在 PyCharm 中,将默认测试运行器设置为 unittests。

b. pytest 框架

特点:功能强大,语法简洁,支持丰富的插件。

运行方式- 使用命令行:

pytest test_file.py

在 PyCharm 中,将默认测试运行器设置为 pytest。

c. 普通模式

特点:直接运行 Python 脚本,不使用任何测试框架。

运行方式-使用命令行:

python script.py

在 PyCharm 中,直接运行脚本。

二、PyCharm 默认使用 pytest 框架执行 unittest 框架的测试用例

PyCharm 默认的测试运行器是 pytest,这可能是因为 pytest 是目前 Python 社区中广泛使用的测试框架,它具有以下优势:

  1. 更简洁的语法和更强大的功能。

  2. 支持 unittest 和 pytest 的测试用例。

  3. 更灵活的测试报告生成和插件支持。

【注】 若你的项目主要使用 unittest,而 PyCharm 使用 pytest 来运行测试,可能会导致一些问题,比如测试用例的发现机制不同、测试报告格式不同等。

三、如何修改Pycharm的脚本运行的模式?

<think>我们正在回答用户关于如何在PyCharm中运行pytest脚本的问题。根据用户提供的引用内容,我们可以总结出以下步骤: 引用[1]提到:在PyCharm中,进入Preferences ->Tools ->Python IntegratedTools,修改Testing下的Defaulttest runner为pytest。这样设置后,可以直接使用PyCharm中的Run按钮无参数地调用pytest。引用[3]提供了pytest的一些常用执行参数,这些参数也可以在PyCharm的测试配置中使用。 引用[4]则提到在PyCharm中以管理员身份运行脚本的方法,但用户的问题主要是关于运行pytest,所以我们可以忽略管理员身份的要求,除非用户特别需要。 因此,我们可以将步骤分为两部分:设置PyCharm使用pytest作为默认测试运行器,以及如何创建运行配置来使用特定的pytest参数。 步骤:1.设置PyCharm的默认测试运行器为pytest:-打开PyCharm,进入Preferences(或者Settings,取决于操作系统)。-找到Tools ->Python IntegratedTools。-在Testing部分,将Default testrunner从默认的(可能是unittest)改为pytest。-点击Apply/OK。2.运行测试:-设置完成后,在测试文件(例如test_sample.py)中,可以直接在测试函数或测试类旁边看到运行按钮(绿色的三角形)。-点击这个按钮,PyCharm就会以pytest的方式运行这个测试用例或整个测试文件。3.创建自定义运行配置(如果需要添加参数):-有时候我们需要添加pytest命令行参数(如标记、指定用例等)。-点击PyCharm顶部菜单的Run ->Edit Configurations。-点击左上角的+号,选择pytest。-在右侧配置中,可以设置:- Name:给配置起个名字-Target:可以选择运行整个目录、单个文件、单个测试类或方法- Additionalarguments:添加额外的参数,例如`-v`(详细输出)、`-m`(标记)、`-k`(关键字)等。-配置完成后,点击OK,然后就可以通过选择这个配置并点击运行来执行。4.通过右键菜单运行:-在项目文件树中,右键点击一个测试文件或测试目录,选择“Runpytest in...”(设置默认测试运行器为pytest后才会出现这个选项)。5.使用命令行运行(可选):-如果习惯使用命令行,可以在PyCharm的终端(Terminal)中输入pytest命令,与在外部终端一样。 注意:在运行之前,确保项目已经安装了pytest(可以通过PyCharm的终端执行`pipinstall pytest`)。如果用户需要以管理员身份运行,可以参考引用[4]的思路,即让PyCharm以管理员身份运行Python解释器。但通常运行测试不需要管理员权限,除非测试涉及系统级操作。具体方法可能因操作系统而异,例如在Windows上,可以设置PyCharm的快捷方式以管理员身份运行,然后再在PyCharm中运行测试。但一般情况下,我们不需要这样做。 最后,我们可以生成几个相关问题,以帮助用户深入了解。根据引用内容,我们自然地在回答中引用[1][3][4]。</think>### 在 PyCharm 中运行 pytest 脚本的完整指南 #### 方法一:配置默认测试运行器(推荐) 1. **打开设置** - 进入 `File` → `Settings` (Windows/Linux) 或 `PyCharm` → `Preferences` (macOS) - 导航至 `Tools` → `Python Integrated Tools` 2. **设置 pytest 为默认运行器** ```plaintext Testing → Default test runner → 选择 pytest ``` ![设置示意图](pytest-settings.png) [^1] 3. **运行测试** - 在测试文件/类/方法旁边会出现绿色 ▶️ 按钮 - 右键点击测试目标 → 选择 `Run &#39;pytest for...&#39;` - 或使用快捷键 `Ctrl+Shift+F10` (Windows/Linux) / `^⇧R` (macOS) #### 方法二:通过运行配置 1. **创建新配置** - 顶部菜单:`Run` → `Edit Configurations` - 点击 **+** → 选择 `pytest` 2. **配置参数** ```plaintext Target: [选择测试范围] - Script path: 单个测试文件 - Module name: 整个测试模块 - Custom: 特定测试用例 Additional arguments: 添加命令行参数 - 示例: -v -s --html=report.html ``` ![运行配置示例](pytest-config.png) [^3] 3. **高级选项** - 环境变量:`Environment variables` - Python解释器:`Python interpreter` - 工作目录:`Working directory` #### 方法三:通过终端 1. 打开PyCharm内置终端 (`Alt+F12`) 2. 执行标准pytest命令: ```bash pytest -v # 详细模式 pytest test_login.py::TestAuth # 运行特定测试类 pytest -m smoke # 运行标记用例 ``` #### 常见问题解决 1. **权限问题**(如需要管理员权限): - 右键点击PyCharm图标 → 以管理员身份运行 [^4] - 或配置系统权限:`sudo chmod +x /path/to/script.py` 2. **未检测到测试用例**: - 确认文件/函数命名规范:`test_*.py` 或 `*_test.py` - 检查函数前缀:`def test_*()` - 类命名:`class Test*`(无 `__init__` 方法)[^3] 3. **安装依赖**: ```bash pip install pytest pytest-html pytest-xdist ``` #### 示例:运行标记用例 1. 标记测试: ```python import pytest @pytest.mark.smoke def test_login(): assert True ``` 2. 创建专用配置: ```plaintext Additional arguments: -m smoke -v --html=smoke_report.html ``` #### 执行效果 成功运行后,PyCharm底部将显示: ```plaintext ========================= test session starts ========================= platform win32 -- Python 3.9, pytest-7.4.0 test_login.py::test_login PASSED [100%] ========================== 1 passed in 0.12s ========================= ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

释梦燃

你的鼓励是我创作的动力

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

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

打赏作者

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

抵扣说明:

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

余额充值