前言

上一篇pytest文档2-用例运行规则已经介绍了如何在cmd执行pytest用例,平常我们写代码在pycharm比较多
写完用例之后,需要调试看看,是不是能正常运行,如果每次跑去cmd执行,太麻烦,所以很有必要学习如何在pycharm里面运行pytest用例

pycharm运行三种方式

1.以xx.py脚本方式直接执行,当写的代码里面没用到unittest和pytest框架时,并且脚本名称不是以test_开头命名的,此时pycharm会以xx.py脚本方式运行

2.当脚本命名为test_xx.py时,用到unittest框架,此时运行代码,pycharm会自动识别到以unittest方式运行

3.以pytest方式运行,需要改该工程设置默认的运行器:file->Setting->Tools->Python
Integrated Tools->项目名称->Default test runner->选择py.test

备注:pytest是可以兼容unittest框架代码的

pycharm写pytest代码

1.在pycharm里面写pytest用例,先导入pytest

# D:/YOYO/test_class.py

import pytest

class TestClass:
def test_one(self):
x = "this"
assert 'h' in x def test_two(self):
x = "hello"
assert hasattr(x, 'check') def test_three(self):
a = "hello"
b = "hello world"
assert a in b if __name__ == "__main__":
pytest.main('-q test_class.py')

运行结果

.F.                                                                      [100%]
================================== FAILURES ===================================
_____________________________ TestClass.test_two ______________________________ self = <YOYO.test_class.TestClass object at 0x00000000039F9080> def test_two(self):
x = "hello"
> assert hasattr(x, 'check')
E AssertionError: assert False
E + where False = hasattr('hello', 'check') test_class.py:11: AssertionError
============================== warnings summary ===============================
<undetermined location>
passing a string to pytest.main() is deprecated, pass a list of arguments instead. -- Docs: http://doc.pytest.org/en/latest/warnings.html
1 failed, 2 passed, 1 warnings in 0.06 seconds

2.运行结果“.F. ” 点是代表测试通过,F是Fail的意思,1 warnings是用于pytest.main('-q test_class.py')里面参数需要传list,多个参数放list就不会有警告了

pytest.main(['-q', 'test_class.py'])

pycharm设置pytest

1.新建一个工程后,左上角file->Setting->Tools->Python Integrated Tools->项目名称->Default test runner->选择py.test

2.改完之后,再重新建个脚本(注意是先改项目运行方式,再写代码才能出来),接下来右键运行就能出来pytest运行了

3.pytest是可以兼容unittest脚本的,之前写的unittest用例也能用pytest框架去运行

最新文章

  1. No.004:Median of Two Sorted Arrays
  2. Unity3D 一个较常见的错误信息“rect[2] == rt-&gt;GetGLWidth() &amp;&amp; rect[3] == rt-&gt;GetGLHeight()”
  3. 批量创建SO
  4. android调试工具DDMS的使用详解
  5. yii2中事务不能回滚的解决
  6. SharePoint咨询师之路:设计之前的那些事四:负载均衡 - web服务器
  7. GSS7 spoj 6779. Can you answer these queries VII 树链剖分+线段树
  8. 面试题_93_to_102_编程和代码相关的面试题
  9. HW2.17
  10. linux下jdk的卸载与安装
  11. 让C程序更高效的10种方法
  12. linux命令:find详解
  13. Error Code: 1630. FUNCTION rand.string does not exist
  14. Python中加入中文注释
  15. [Day10]继承、抽象类
  16. bugfree3.0.1-导入excel测试用例
  17. 在WPF中调用另存为对话框
  18. 【转】我为什么把think in java 读了10遍
  19. 构建高性能服务(二)java高并发锁的3种实现
  20. PHP之Composer类库依赖管理神器

热门文章

  1. mac 搭建Java Spring boot 环境(eclipse)
  2. JAVA字符编码一:Unicode,GBK,GB2312,UTF-8概念基础
  3. java定时任务框架Quartz入门与Demo搭建
  4. save tracking results into csv file for oxuva long-term tracking dataset (from txt to csv)
  5. Python知乎上推荐的项目
  6. Session覆盖测试(要验证码提交到后续页面操作的 绕过去的场景)
  7. 从原生Android 跳转到hbuilder项目
  8. es6 学习小计
  9. Android 问题解决 HorizontalScrollView显示不全(转)
  10. Intellij IDEA 启动出现“前言中不允许有内容”