PyCharm上unittest 测试用例两种执行方式
每次讲到unittest测试框架的时候,经常有同学在群里反映,为啥我的运行不是按照我往suite里添加的用例顺序执行的,为什么别人的能跑出来报告,我的就不行...
当然,首先确认代码是OK的,如果代码没有问题,那多半就是执行方式不太对了,我们分别来看看两种执行方式。
01
unittest 执行方式
这种执行方式是pycharm自带的,首先看一下下面这段测试代码:
import unittest
class TestCase(unittest.TestCase):
def setUp(self):
print("Before every test case!")
def test_case_01(self):
print("this is test case 1")
def test_case_02(self):
print("this is test case 2")
#大家可以认为这是一个类似于
if __name__ == "__main__":
unittest.main()
如果想运行这段代码,我们可以直接在PyCharm中if __name__ == "__main__": 这一句的下面击右键,然后选择 run unittest for teststudy

这样就是调用PyCharm中的unittest插件运行了我们当前这个测试类。
PyCharm中的unittest插件功能很强大,不仅可以运行整个测试类,还可以选择其中某一个测试用例执行,比如,我只想执行test_case_01,可以将鼠标移到test_case_01区域,然后点击右键,这样可以实现执行单独一条测试用例。
或者,可以点击测试用例左边的小运行图标,都可以实现执行单条测试用例
上面的这些执行方式虽然入口不一样,但是都是借助PyCharm的unittest插件进行运行,这种执行方式的缺点是依赖PyCharm,以及无法生成报告,如果想生成测试报告,就要考虑Python运行方式。
02
Python运行方式
Python运行方式可以直接在命令行中调用。
在这里,要注意,只有添加了这段代码,才能唤醒神龙,调用起Python运行方式
if __name__ == "__main__":
unittest.main()
这段代码可以理解为是一个主函数,当前这个Python文件的入口。
当然除了在命令行,我们也可以在PyCharm中添加运行方式,选择Edit Configurations
点开之后,发现里面已经有了一些运行方式,通过名称可以看出来,这些都是unittest的运行方式。
那Python的运行方式如何添加呢,我们可以点击左上角的+号,选择Python
然后将我们添加的这个文件添加到script path 中
接着,我们就能在右上角看到我们刚刚添加的运行方式,直接选择这个运行按钮,就可以用Python的运行方式去运行了
如果后面要添加报告应用或者用testsuite组织用例顺序,只要在if __name__ == "__main__": 代码后面添加,然后直接用Python方式运行就可以了。
例如:

最后,希望本文可以帮助大家。
作 者:Testfan Chris
出 处:微信公众号:自动化软件测试平台
版权说明:欢迎转载,但必须注明出处,并在文章页面明显位置给出文章链接
PyCharm上unittest 测试用例两种执行方式的更多相关文章
- Pycharm上python运行和unittest运行两种执行方式解析
前言 经常有人在群里反馈,明明代码一样的啊,为什么别人的能出报告,我的出不了报告,为什么别人运行结果跟我的不一样啊... 这种问题先检查代码,确定是一样的,那就是运行姿势不对了,一旦导入unittes ...
- python常有模块:模块、引入语法、两种执行方式、模块搜索顺序
今天主要讲了以下几点:一.模块三问.定义及分类二.import和from的语法三.文件的两种执行方式及搜索顺序四.内置函数 一.模块.import和from的语法 1.什么是模块 模块是一堆功能函 ...
- 【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既是一种命令语言,又是一种程序设计语言.作为命令语言,它交互式地解 ...
- 导模块的细节:(跨文件导入模块 &模块的两种执行方式) | 包的概念与使用 | 包中的相对导入语法
今日内容 包: 1. 导入模块的细节 2. 包的概念与使用 3. 包中的相对导入语法 跨文件夹导入模块 1. 假设有一个文件夹a ,a 的下面有一个ma 的模块,如果a文件夹所在目录在环境变量,a文件 ...
- unittest===unittest 的几种执行方式
#demo.py import requests import json class RunMain: def __init__(self, url, method, data=None): self ...
- Golang两种执行流程以及区别
Go语言的执行方式有两种,一种是编译后再执行,另一种直接go run执行. 一.先编译后执行 .go文件(源代码)--->go build指令把源代码编译(如果是windows下会编译出一个.e ...
随机推荐
- 阶段3 3.SpringMVC·_03.SpringMVC常用注解_4 HiddentHttpMethodFilter过滤器
此文只做了解!! 过滤器 ,了解即可 请求设置为post的方式 换成put的方式 浏览器模拟发送PUT请求 ,不大好模拟.顾虑器可以帮助我们发送不同的请求 过滤器会拿到这个请求 详情可以看文档,此处不 ...
- vue中html、js、vue文件之间的简单引用与关系
有关vue文件记录:index.html在html中运用组件 <body> <app></app> <!-- 此处app的组件为入口js main.js中定义 ...
- Eclipse常用快捷方式
Suggestions (Ctrl+1) 建议,比如创建局部变量 File Search (Ctrl+H) 在所有文件中查找关键字 Open Resource (Ctrl+Shift+R) 打开资源 ...
- etcd三节点安全集群搭建-pki安全认证
etcd安全集群搭建就是 pki安装认证 1.环境: 三台centos7. 主机 192.168.0.91 192.168.0.92 192.168.0.93 都关闭防火墙 都关闭selinux 配置 ...
- 重置csr
重置csr 注意:下面操作仅在刚安装k8s后24小时内有效 分析:kubelet启动后会生成如下文件.kubelet.conf文件决定了csr的存在,如果要想重新获取csr,可以停掉kubelet,删 ...
- Java ——注释 命名
注释 1.类在每个类前面必须加上类注释,注释模板如下:/*** Copyright (C), 2006-2010, ChengDu Lovo info. Co., Ltd.* FileName: Te ...
- 轻度折腾nuc8i5beh
最近入手了一台迷你电脑:Intel NUC--Next Unit of Computing,配了1根16GB内存条(2666)和两块固态(m.2+sata),搭载i5-8259U ,Intel Iri ...
- 【Linux开发】内核模块简介
一. 摘要 这篇文章主要介绍了Linux内核模块的相关概念,以及简单的模块开发过程.主要从模块开发中的常用指令.内核模块程序的结构.模块使用计数以及模块的编译等角度对内核模块进行介绍.在Linux系统 ...
- 模仿Spy++抓某窗口消息
核心函数 SetWindowsHookExA API文档:https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-s ...
- Quartz持久化到mongodb
springboot中集成quzrtz ,持久到mongodb 1.pom引用 <?xml version="1.0" encoding="UTF-8"? ...