前言

经常有人在群里反馈,明明代码一样的啊,为什么别人的能出报告,我的出不了报告,为什么别人运行结果跟我的不一样啊。。。

这种问题先检查代码,确定是一样的,那就是运行姿势不对了,一旦导入unittest模块,pycharm会自动识别以unittest的姿势去运行了。

ps:我也被它坑苦了,反复检查代码都没毛病,执行完愣不是自己想要的结果,后来发现是由于执行方式选择的问题。

一、unittest运行单个用例

1.如下代码,如果我只想运行其中的一个,如test01,如何运行呢?

2.如果想运行哪个用例,鼠标放到对应的区域,右键就能直接运行单个用例了

3.注意上图红色框框,显示的是Run 'Unittest test01',这个意思很明显,就是说以unittest的方式只运行test01

如果想运行test2,鼠标放到test2区域右键,就会显示:Run 'Unittest test02'

二、unittest运行整个脚本用例

1.如果想当前的脚本上所有的用例一起执行,只需把鼠标放到if __name__ == "__main__":这句话的后面或者下方就行了

2.上图显示的是Run Unittest in test1 运行的是整个脚本

三、python直接运行模式

1.以上方式只能执行单元测试框架里面的内容,是没有测试报告的输出的,如果想输出测试报告,就得以非unittest模式运行,也就是用python直接运行

2.点右上角,点开:Edit Configurations

2.展开Python 和 Python tests这两个选项,会发现刚才运行的脚本名称在Python tests这个选项下,也就是pycharm这个工具自动默认为unittest姿势运行了。

3.解决办法,只需从这里移除掉就行,选中这个脚本,点左上角的减号:一

4.全部移除后,点Apply应用,然后点OK保存

5.再回到脚本界面,右键运行,就能出测试报告了

(敲黑板了!!!鼠标一定要放在if这一行后边右键,才能看到正常显示Run ‘’test1‘’)

注意:

如果右键还是不能选择python运行方式,再次点击右上角,点开:Edit Configurations,如图。

点击左上角加号“+”,选择Python。

起个名字,选择你要执行的测试脚本,点击“Apply”,再点击“OK”。

保存后以后,会在右上角看到刚刚保存的python运行方式,点击右侧绿色小三角,即是使用python执行脚本。

Pycharm上python运行和unittest运行两种执行方式解析的更多相关文章

  1. PyCharm上unittest 测试用例两种执行方式

    每次讲到unittest测试框架的时候,经常有同学在群里反映,为啥我的运行不是按照我往suite里添加的用例顺序执行的,为什么别人的能跑出来报告,我的就不行... 当然,首先确认代码是OK的,如果代码 ...

  2. python常有模块:模块、引入语法、两种执行方式、模块搜索顺序

    今天主要讲了以下几点:一.模块三问.定义及分类二.import和from的语法三.文件的两种执行方式及搜索顺序四.内置函数 一.模块.import和from的语法 1.什么是模块   模块是一堆功能函 ...

  3. [转帖]kubernetes ingress 在物理机上的nodePort和hostNetwork两种部署方式解析及比较

    kubernetes ingress 在物理机上的nodePort和hostNetwork两种部署方式解析及比较 https://www.cnblogs.com/xuxinkun/p/11052646 ...

  4. kubernetes ingress 在物理机上的nodePort和hostNetwork两种部署方式解析及比较

    ingress controller在物理机上的两种部署方式 ingress controller(ingress-nginx)负责k8s中的7层负载均衡.其在物理机中有多种部署方式.本文中主要选择了 ...

  5. 【Shell脚本学习1】Shell简介:什么是Shell,Shell命令的两种执行方式

    Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的.Shell既是一种命令语言,又是一种程序设计语言.作为命令语言,它交互式地解释 ...

  6. 【转】shell 教程——01 Shell简介:什么是Shell,Shell命令的两种执行方式

    Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的.Shell既是一种命令语言,又是一种程序设计语言.作为命令语言,它交互式地解释 ...

  7. Shell简介:什么是Shell,Shell命令的两种执行方式

    Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的.Shell既是一种命令语言,又是一种程序设计语言.作为命令语言,它交互式地解释 ...

  8. shell教程-001:shell简介 什么是shell,shell命令的两种执行方式

    Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的. Shell既是一种命令语言,又是一种程序设计语言.作为命令语言,它交互式地解 ...

  9. python中package机制的两种实现方式

    当执行import module时,解释器会根据下面的搜索路径,搜索module1.py文件. 1) 当前工作目录 2) PYTHONPATH中的目录 3) Python安装目录 (/usr/loca ...

随机推荐

  1. centos ping命令找不到服务

    1 首先 添加dns服务器 vi /etc/resolv.conf 在文件中添加如下两行: nameserver 8.8.8.8 nameserver 8.8.4.4 保存退出,重启服务器.之后再pi ...

  2. 5分钟就能学会的简单结构 | MLP-Mixer: An all-MLP Architecture for Vision | CVPR2021

    文章转自:微信公众号「机器学习炼丹术」 作者:炼丹兄(欢迎交流,共同进步) 联系方式:微信cyx645016617 论文名称:「MLP-Mixer: An all-MLP Architecture f ...

  3. sql server 操作(不定期更新)

    要求:基本的语法要清楚. sql server疑难点: 1.Partition by可以理解为 对多行数据分组后排序取每个产品的第一行数据 先处理内查询,由内向外处理,外层查询利用内层查询的结果嵌套查 ...

  4. (续篇)Selenium 安装配置以及如何解决('chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/ch)或者(unknown error:cannot find Chrome binary)问题?

    注:本帖针对小小白哦~~(づ ̄3 ̄)づ╭- 接pip安装的帖子,不需要的直接跳过... 首先上图,出现如下的错误,那你可是找到知己了: 或者: 抱歉抱歉,这图截的不太清晰,凑合着用吧,但是也能看出来错 ...

  5. java中的Class.forName的作用

    Class.forName有什么作用 Class.forName(xxx.xx.xx) 返回的是一个类 首先你要明白在java里面任何class都要装载在虚拟机上才能运行.这句话就是装载类用的(和ne ...

  6. CVPR2020论文解读:3D Object Detection三维目标检测

    CVPR2020论文解读:3D Object Detection三维目标检测 PV-RCNN:Point-Voxel Feature Se tAbstraction for 3D Object Det ...

  7. Python“九九乘法表”

    用Python语言编程,使用双重循环语句输出"九九乘法表". for i in range(1, 10): # 控制行 for j in range(1, i+1): # 控制列 ...

  8. Android开发回收bitmap引发Canvas: trying to use a recycled bitmap错误处理

    当你的应用由于加载大量图片出现OOM异常时,肯定会上网搜索关于OOM的文章,并导求相应的解决方案,比如压缩图片大小,或手动回收资源什么的.在这里我们不讨论图片压缩或缓冲这些方法,而是讨论一下手动回收B ...

  9. STP协议与MSTP协议

    STP协议与MSTP协议 目录 一.STP概述 1.1.交换网络环路的产生 1.2.STP简介 二.生成树算法 2.1.生成树算法的步骤 2.2.网桥 ID 2.3.选择根端口 2.4.选择指定端口 ...

  10. 熬夜总结vue3中setUp函数的2个参数详解

    1.setUp函数的第1个参数props setup(props,context){} 第一个参数props: props是一个对象,包含父组件传递给子组件的所有数据. 在子组件中使用props进行接 ...