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 ...
随机推荐
- 在Linux上安装Python3.7.1
一.安装依赖环境 输入命令:yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readlin ...
- ansible报错处理
[root@localhost ~]# ansible testhosts -m command -a 'rm -rf /tmp/haha' [WARNING]: Consider using the ...
- golang(07)结构体介绍
golang支持面向对象的设计,一般支持面向对象的语言都会有class的设计,但是golang没有class关键字,只有struct结构体.通过结构体达到类的效果,这叫做大成若缺,其用不弊. stru ...
- VS2015服务器资源管理器连接Mysql数据库
下载安装文件mysql-for-visualstudio-1.2.3.msi 下载成功后执行安装,选择change-->选择Custom安装成功后,发现vs中没有效果. 注意这里再次执行安装文件 ...
- Asp.Net Core 反向工程
反向工程1.反向工程是实体类型类和一个基于数据库架构的 DbContext 类的基架的过程2.Scaffold-DbContext(数据库上下文脚手架) 使用Scaffold-DbContext ...
- ASP.NET(C#) 面试总结面试题大全
一.对于 Web 性能优化,您有哪些了解和经验吗?出现指数:五颗星主要考点:这道题是博主在博客园的新闻里面看到的,回想之前几年的面试经历,发现此题出现概率还是比较高的.因为它的考面灰常广,可以让面试官 ...
- Python学习之初识
第一章 1.1 typora 的安装与使用 1.1.1 标题的创建: 方法一:用 ###+空格 表示标题,几个#就是几级标题 方法二:菜单栏-->段落-->选择标题 1.1.2 有序列表与 ...
- PHP Smarty模板的安装
最近开发中用到了PHP中smarty模板..作为一个长久以来的前端,开始学习PHP模板..下面将安装教程分享给大家.. 1. 下载Smarty最新版: http://www.smarty.NET/do ...
- NIKKEI Programming Contest 2019-2 Task E. Non-triangular Triplets
$\require{enclose}$ 必要条件 一方面 $\sum_{i=1}^{N}(a_i + b_i) \le \sum_{i=1}^{N} c_i \implies 2\sum_{i=1}^ ...
- java生成0~9个9个不相等的整数
HashSet<Integer> hs=new HashSet<Integer>(); Integer i=0; while (i<9){ int s=(int) Mat ...