使用IDEA写Python之pytest环境搭建及第一个程序编写
一、准备篇
Python环境:3.8.3
开发工具:IDEA,对你没有看错
二、IDEA下安装开发环境
1. python的下载
https://www.python.org/downloads/
PS:关于Python的环境搭建,此处略
2. idea下python插件的安装
点击File->Settings...->Plugins,点击marketplace选项卡,在里面搜索python,如下图所示:
点击install,重启即可。
3. idea下的配置
File->New->Project,可以看到左边的项目类型中多了一个python。点击它
如果你的电脑中已经安装过了python的环境,它会自动检测SDK。如果没有安装,这里推荐使用Anaconda,安装与配置方法请移步python神器——Anaconda。
三、pytest简介
pytest是一个非常成熟的全功能的Python测试框架,主要特点有以下几点:
- 简单灵活,容易上手,文档丰富;
- 支持参数化,可以细粒度地控制要测试的测试用例;
- 能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试、接口自动化测试(pytest+requests);
- pytest具有很多第三方插件,并且可以自定义扩展,比较好用的如pytest-selenium(集成selenium)、pytest-html(完美html测试报告生成)、pytest-rerunfailures(失败case重复执行)、pytest-xdist(多CPU分发)等;
- 测试用例的skip和xfail处理;
- 可以很好的和CI工具结合,例如jenkins
1、安装pytest
pip install -U pytest
安装成功,如下图所示:
2、检查pytest安装版本
pytest --version
验证成功,如下图所示:
3、编写第一个测试函数
创建名为start.py,具体示例如下:
# 创建第一个测试函数 def add(x): return x + 6 def test_result(): assert add(6) == 12
注意:测试函数必须以test_+函数名命名,否则不执行
4、执行测试
4.1、命令行形式执行
定位start.py同级目录下,输入如下命令,可执行测试函数
pytest start.py
执行成功,如下图所示:
这个测试的结果是失败的,因为add(6)的返回值不是11,导致断言失败
4.2、用编译器执行
我们学习pytest的时候,很多时候通过cmd命令去执行用例,大部分时间我们是通过IDE去编写。调试,为了方便运行,我们可以使用pytest提供的pytest.main()函数运行我们的测试脚本或者例子
修改测试文件名为,test_start.py,再添加main方法执行,示例代码如下:
if __name__ == '__main__': pytest.main()
执行结果如下:
说明:pytest会运行当前目录及子目录下所有以 test_*.py 和 *_test.py 命名的文件。文件匹配方式遵循 Standard test discovery rules
优秀不够,你是否无可替代
软件测试交流QQ群:721256703,期待你的加入!!
欢迎关注我的微信公众号:软件测试君

【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
2019-09-06 Appium+java ---- Intellij IDEA +genymotion安装配置
2017-09-06 关于适配性测试的问题--------【感谢搜狗团队整理】