Pycharm上python运行和unittest运行两种执行方式解析
前言
经常有人在群里反馈,明明代码一样的啊,为什么别人的能出报告,我的出不了报告,为什么别人运行结果跟我的不一样啊。。。
这种问题先检查代码,确定是一样的,那就是运行姿势不对了,一旦导入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运行两种执行方式解析的更多相关文章
- PyCharm上unittest 测试用例两种执行方式
每次讲到unittest测试框架的时候,经常有同学在群里反映,为啥我的运行不是按照我往suite里添加的用例顺序执行的,为什么别人的能跑出来报告,我的就不行... 当然,首先确认代码是OK的,如果代码 ...
- python常有模块:模块、引入语法、两种执行方式、模块搜索顺序
今天主要讲了以下几点:一.模块三问.定义及分类二.import和from的语法三.文件的两种执行方式及搜索顺序四.内置函数 一.模块.import和from的语法 1.什么是模块 模块是一堆功能函 ...
- [转帖]kubernetes ingress 在物理机上的nodePort和hostNetwork两种部署方式解析及比较
kubernetes ingress 在物理机上的nodePort和hostNetwork两种部署方式解析及比较 https://www.cnblogs.com/xuxinkun/p/11052646 ...
- kubernetes ingress 在物理机上的nodePort和hostNetwork两种部署方式解析及比较
ingress controller在物理机上的两种部署方式 ingress controller(ingress-nginx)负责k8s中的7层负载均衡.其在物理机中有多种部署方式.本文中主要选择了 ...
- 【Shell脚本学习1】Shell简介:什么是Shell,Shell命令的两种执行方式
Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的.Shell既是一种命令语言,又是一种程序设计语言.作为命令语言,它交互式地解释 ...
- 【转】shell 教程——01 Shell简介:什么是Shell,Shell命令的两种执行方式
Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的.Shell既是一种命令语言,又是一种程序设计语言.作为命令语言,它交互式地解释 ...
- Shell简介:什么是Shell,Shell命令的两种执行方式
Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的.Shell既是一种命令语言,又是一种程序设计语言.作为命令语言,它交互式地解释 ...
- shell教程-001:shell简介 什么是shell,shell命令的两种执行方式
Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的. Shell既是一种命令语言,又是一种程序设计语言.作为命令语言,它交互式地解 ...
- python中package机制的两种实现方式
当执行import module时,解释器会根据下面的搜索路径,搜索module1.py文件. 1) 当前工作目录 2) PYTHONPATH中的目录 3) Python安装目录 (/usr/loca ...
随机推荐
- 更短且不失高效的UUID生成算法
Java原生的UUID长度为36位,嫌长 这里自己实现了一套自己的算法,来生成较短的UUID 由雪花算法启发而来, 大致原理是利用时间戳+随机值做值,然后转换成62进制(当然这个进制数你也可以搞成更多 ...
- bat脚本总结
1.修改密码 @echo off set /p b=请输入新密码: net user %username% %b% echo 密码修改成功 %b% 请牢记你的密码 pause 2.删除hosts文件并 ...
- Map / Set / Treeset 取出指定下标index的元素
Treeset 属于 set 集合中的一种数据类型,HashSet 以及LinkedHashSet 原理相同 需求:想直接在Treeset类型下,取出指定下标的元素,但是Set 下没有 get()方 ...
- 全卷积目标检测:FCOS
全卷积目标检测:FCOS FCOS: Fully Convolutional One-Stage Object Detection 原文链接:https://arxiv.org/abs/1904.01 ...
- TinyML-TVM是如何驯服Tiny的(上)
TinyML-TVM是如何驯服Tiny的(上) 低成本.人工智能驱动的消费类设备的激增,导致了ML研究人员和从业者对"裸智能"(低功耗,通常没有操作系统)设备的广泛兴趣.虽然专家已 ...
- 基于Kaggle的图像分类(CIFAR-10)
基于Kaggle的图像分类(CIFAR-10) Image Classification (CIFAR-10) on Kaggle 一直在使用Gluon's data package数据包直接获得张量 ...
- C# 强行锁定 第三方 外部 应用程序窗体窗口的分辨率尺寸大小 禁止鼠标拖拽改变窗口大小
我们也许会有一些奇怪的需求,比如说禁止一个外部程序的窗口大小更改. 如果我们没法修改外部程序的代码,那要怎么做呢? 当然,我们可以通过DLL注入目标程序的方式去Hook或registry一个事件来检测 ...
- oracle单机开机自启动
====================== 单机数据库开机自启动 ============================= 环境: oracle数据库单机 版本:11.2.0.4 1.修改配置文 ...
- Java面试必知必会:基础
面试考察的知识点多而杂,要完全掌握需要花费大量的时间和精力.但是面试中经常被问到的知识点却没有多少,你完全可以用 20% 的时间去掌握 80% 常问的知识点. 一.基础 包括: 杂七杂八 面向对象 数 ...
- Linkerd 2.10(Step by Step)—2. 自动化的金丝雀发布
通过结合 Linkerd 和 Flagger 来根据服务指标自动金丝雀(canary)发布,从而降低部署风险. Linkerd 2.10 中文手册持续修正更新中: https://linkerd.ha ...