教程:使用pytest进行可视化测试
如果您像许多Python开发人员一样喜欢编写代码!测试?并非如此。无论是测试的概念还是测试工具的界面,测试都是一个并非所有开发人员都能跨越的鸿沟。的使用pytest进行可视化测试本教程旨在将Python测试引入大众,采用一种新的方法第一次接触Python测试。
加入我们的旅程,并在这个9步教程中提高您的测试技能!
本教程
如前所述,本教程分为9个步骤。这样做的目的是让每一步都独一无二,这样你就可以一边学习一边应用。每个教程步骤都有一个叙述视频以及一个详细的那样,连接到工作代码.
这里是一个概述,下面你可以找到每个步骤的描述。
- 步骤1 -背景的测试:介绍测试、pytest,以及如何将它们全部融入PyCharm,以及要处理的场景。
- 步骤2 -项目设置:创建一个带有依赖项的PyCharm项目和虚拟环境,然后配置PyCharm以使用pytest。
- 步骤3 -你好,测试:编写一个简单的测试,并在PyCharm的可视化测试运行器中运行。
- 步骤4 -进入TDD流程:设置你的PyCharm项目,以帮助进入测试驱动开发(TDD)的流程。
- 步骤5 -跳转到错误:写代码意味着写破代码。单击回溯中的链接以打开错误行上的文件。
- 步骤6 -跳过测试:在重构过程中,使用pytest的标记来忽略某些破坏测试。
- 步骤7 -测试装置:通过将示例数据移动到pytest fixture,使测试更加集中。
- 步骤8 -调试测试期间:在编写测试时,使用PyCharm“可视化调试器”以交互式方式在问题的上下文中查找。
- 步骤9 -测试异常:编写测试,确保在预期的时候引发异常。
关于pytest
pytest框架使编写小型测试变得很容易,而且可以扩展到支持应用程序和库的复杂功能测试。有关pytest框架的更多信息,请阅读它们官方文档.
PyCharm指南
想要升级你的Python和PyCharm技能?的PyCharm指南采用可视化的方法,有提示,教程,和更多。
安德斯Hovmoller说:
2020年6月16日在pycharm中使用pytest的最好建议是安装pytest-pycharm。https://github.com/jlubcke/pytest-pycharm
这就是“很糟糕”和“这正是我想从调试器中得到的”之间的区别。
保罗埃维里特说:
2020年6月16日有趣的是,这些功能将会出现在明天的EAP中。没有开玩笑。机票:https://youtrack.jetbrains.com/issue/PY-9848
如果我有时间,我将在明天上午的Python Web会议教程的最后给出一个演示。
如帽般的说:
2020年6月17日@Paul埃维里特
伟大的教程。我一直在找这样的演练。
在步骤2中,请参考执行pip install -e .[tests]。
但不要说明这是什么,也不要说明为什么用户“应该”这样做。如果他们不这么做会怎么样?
我认为这个“可编辑安装”对于学习如何从Pycharm使用Pytest来说可能更高级一些。
“使用Pytest进行Python测试”也指这个可编辑安装,但没有真正说明是什么或为什么。
保罗埃维里特说:
2020年6月17日它遵循作为最佳实践的pytest文档。在他们的页面上有解释,在我的PyCharm指南页面上也有解释(“大多数Python包放了他们的…”),当我显示pytest“强烈建议”段落时也提到了。
我考虑过走捷径,但还是决定不这么做。这可能是一个有争议的决定,但决定咬紧牙关,展示正确的方式。
如帽般的说:
2020年6月17日在步骤3的14秒标记中,你点击Player,然后突然出现一个弹出窗口,创建一个测试,但你没有说明如何进入该窗口/菜单。
如果你也放慢速度会有帮助的。我必须回到视频,倒带看看你是如何从一个地方到下一个地方的。
保罗埃维里特说:
2020年6月17日我把这些视频看作是书面文件的伙伴。那些想要完整解释的有一个资源,那些想要简明讲解的有视频。但可能有一些地方的跳跃发生得太快了。
不过,在您给出的示例中,我解释了“让PyCharm通过使用导航| Go To test为我们创建测试”,演示助理窗口会弹出,显示我按下的键。
TC说:
2020年6月20日在第7步1:32,你说“挥动魔棒”。看起来Pycharm正在自动地将剩下的函数转换为使用新的守卫程序。
这一切发生的关键顺序是什么?视频只是通过压缩,没有办法看到在绿色弹出栏中的击键显示按键被按下。
保罗埃维里特说:
2020年6月22日抱歉,“魔棒”不够清楚。我的意思很简单:“我要把所有这些都打出来,我要用视频软件让它运行得非常快,因为具体的细节对视频来说是不必要的。”
xtian说:
2020年6月26日我可以使用免费版本执行本教程吗?
罗伯特·Pesce说:
2020年6月26日你好,是的,你可以使用PyCharm社区来执行本教程。