unittest 框架学习
为什么80%的码农都做不了架构师?>>>
今天我学习了,怎么把testcase分到不同的文件中,然后在集中到一个testsuite中一起跑,我还学会了怎么打包,怎么引用。
打包引用,我新建了一个文件夹,目录机构如下:
folder --test_suit
file -----__init__.py
------ testcase1.py
------ testcase2.py
------- testcase3.py
-------testrun.py
然后就可以引用这个package了
我再这个文件夹外面建了一个文件,内容包括:
import unittest
from test_suit import testcase1,testcase2,testcase3
def suite():
alltests = unittest.TestSuite([testcase1.suite1(),testcase2.suite2(),testcase3.suite3()])
return alltests
if __name__ == "__main__":
unittest.TextTestRunner(verbosity=2).run(suite())
运行这个文件获得的结果如下:
test_testcase1 (test_suit.testcase1.DefaultWidgetSizeTestCase1) ... ok
test_testcase2 (test_suit.testcase1.DefaultWidgetSizeTestCase1) ... ok
test_testcase3 (test_suit.testcase1.DefaultWidgetSizeTestCase1) ... ok
test_testcase1 (test_suit.testcase2.DefaultWidgetSizeTestCase2) ... ok
test_testcase2 (test_suit.testcase2.DefaultWidgetSizeTestCase2) ... ok
test_testcase1 (test_suit.testcase3.DefaultWidgetSizeTestCase3) ... ok
test_testcase2 (test_suit.testcase3.DefaultWidgetSizeTestCase3) ... ok
test_testcase3 (test_suit.testcase3.DefaultWidgetSizeTestCase3) ... ok
----------------------------------------------------------------------
Ran 8 tests in 0.100s
OK
当然也可以在testsuit文件夹中建立一个文件,testrun.py,内容如下:
import unittest
import testcase1,testcase2,testcase3
def suite():
alltests = unittest.TestSuite([testcase1.suite1(),testcase2.suite2(),testcase3.suite3()])
return alltests
if __name__ == "__main__":
unittest.TextTestRunner(verbosity=2).run(suite())
运行这个文件的结果是:
test_testcase1 (test_suit.testcase1.DefaultWidgetSizeTestCase1) ... ok
test_testcase2 (test_suit.testcase1.DefaultWidgetSizeTestCase1) ... ok
test_testcase3 (test_suit.testcase1.DefaultWidgetSizeTestCase1) ... ok
test_testcase1 (test_suit.testcase2.DefaultWidgetSizeTestCase2) ... ok
test_testcase2 (test_suit.testcase2.DefaultWidgetSizeTestCase2) ... ok
test_testcase1 (test_suit.testcase3.DefaultWidgetSizeTestCase3) ... ok
test_testcase2 (test_suit.testcase3.DefaultWidgetSizeTestCase3) ... ok
test_testcase3 (test_suit.testcase3.DefaultWidgetSizeTestCase3) ... ok
----------------------------------------------------------------------
Ran 8 tests in 0.100s
OK
tips:
1.__init__.py 这个文件必须有,但是可以为空,因为有了这个文件才会把这个test_suit当做一个package
2.testcase1.py 内容如下:
# -*- coding: cp936 -*-
import unittest
class DefaultWidgetSizeTestCase1(unittest.TestCase):
def setUp(self): #测试前的准备工作
pass
def test_testcase1(self): #测试用例1,且必须以test开头才能被认作是一个测试用例
pass
def test_testcase2(self):
pass
def test_testcase3(self):
pass
def tearDown(self): #测试后的清除数据工作
pass
def suite1():
testcase1 = ['test_testcase1','test_testcase2','test_testcase3']
suite1 = unittest.TestSuite(map(DefaultWidgetSizeTestCase1,testcase1))
return suite1
所以unittest框架测试套集中运行case的大体流程明白了,剩下就是怎么能出好的test case来,让我们拭目以待吧。
转载于:https://my.oschina.net/yusi/blog/530716
unittest 框架学习相关推荐
- selenium + python自动化测试unittest框架学习(二)
1.unittest单元测试框架文件结构 unittest是python单元测试框架之一,unittest测试框架的主要文件结构: File >report >all_case.py &g ...
- selenium + python自动化测试unittest框架学习(一)selenium原理及应用
unittest框架的学习得益于虫师的<selenium+python自动化实践>这一书,该书讲得很详细,大家可以去看下,我也只学到一点点用于工作中,闲暇时记录下自己所学才能更加印象深刻. ...
- selenium原理python_selenium + python自动化测试unittest框架学习(一)selenium原理及应用...
unittest框架的学习得益于虫师的<selenium+python自动化实践>这一书,该书讲得很详细,大家可以去看下,我也只学到一点点用于工作中,闲暇时记录下自己所学才能更加印象深刻. ...
- unittest框架学习笔记
目录 1.unittest全部属性 2.用例基本类:unittest.TestCase 2.1.前置条件:setUp() 2.2.后置条件:tearDown() 2.3.断言:assert*() 3. ...
- selenium + python自动化测试unittest框架学习(五)webdriver的二次封装
因为webdriver的api方法很长,再加上大多数的定位方式是以xpath方式定位,更加让代码看起来超级长,为了使整体的代码看起来整洁,对webdriver进行封装,学习资料来源于虫师的<se ...
- 【博学谷学习记录】超强总结,用心分享 | 软件测试 UnitTest框架
UnitTest框架 1. 介绍 2. TestCase(测试用例) 1. 问题1:代码文件的命名不规范 问题 2:代码运行没有结果 问题 3 没有找到用例 3. TestSuite & Te ...
- 【unittest学习】unittest框架主要功能
1.认识unittest 在 Python 中有诸多单元测试框架,如 doctest.unittest.pytest.nose 等,Python 2.1 及 其以后的版本已经将 unittest 作为 ...
- 认识unittest框架,学习unittest框架的使用
一.unittest是什么? Unittest是python单元测试框架,是受到 JUnit 的启发,与其他语言中的主流单元测试框架有着相似的风格.其支持测试自动化,配置共享和关机代码测试.支持将测试 ...
- unittest框架执行用例
pycharm中运行脚本的方式总共有三种,分别为:unittest模式,pytest模式,普通模式,今天主要来聊一聊unittest模式执行与普通执行(因为最近在学习unittest框架,所以pyte ...
最新文章
- 转:Jquery AJAX POST与GET之间的区别
- oracle protocol=beq 不可用,Oracle BEQ方式连接配置
- java中常见的异常类
- C语言试题三十一之判断字符串是否为回文?若是则函数返回1,主函数中输出yes,否则返回0,主函数中输出no。回文是指顺读和倒读都是一样的字符串。
- angularjs sill 创建项目_开源项目——博客项目MyBlogs.Core,基于.NET 5
- 在html设置文字位置,html设置怎么文字的位置
- 类python中高级用法
- 微信iOS版朋友圈可删除评论;周鸿祎:有的软件会偷拍偷录;银河麒麟操作系统V10发布| 极客头条
- 云计算实训总结_云计算平台实践心得
- 算王标准层的量如何计算机,算王软件常用功能技巧
- 基于Patachmatch的stereo matching笔记(二):《DeepPruner》
- 钰泰ETA8113,ETA8120,ETA8121降压转换器,2A/3A电流,OVP保护
- 佐治亚大学计算机工程本科课程,美国大学本科专业排名:计算机工程.docx
- Jenkins使用问题记录
- Fabric - chaincode开发模式
- python人脸识别解锁电脑_Python 实现在 App 端的人脸识别!手机解锁人脸识别!
- vs2008,2010,2012安装包下载
- Java学习路线以及方法推荐
- 《程序员2013精华本》
- 椭圆曲线加密概览(二)
热门文章
- Nacos 1.3.0 发布, 全新内核构建
- 项目开发神器VsCode配置指南!(含C++、Python、Java环境配置)
- 学习利器:工欲善其事,必先利其器
- AI生成的代码你敢用吗?
- 冠军方案分享:ICPR 2020大规模商品图像识别挑战赛冠军解读
- Hinton 新作!越大的自监督模型,半监督学习需要的标签越少
- 综述|核心开发者全面解读Pytorch内部机制
- 又一所双一流大学明确:发表论文数量不再作为博士毕业的限制性条件
- 吴恩达家免费 NLP 课程重磅上线!110 个小视频教你做出聊天机器人,粉丝:我要让娃跟吴恩达姓!...
- 清华北大南大全面“线上开学”,10 大直播神器齐亮相!