date:2018512+513 day07aft+day08mor

一.面向对象编程

1.定义类,类的继承

ps:与普通函数相比,在类中定义的函数第一个参数必须是类的本身实例变量self,在调用时,该参数不用传值

2.__init__方法+私有方法

__init__存在的意义:类中有必须要绑定的属性,可以使用python的内置方法__init__

__init__方法无需调用,创建类的实例时自动调用

__init__方法和类中函数一样,第一个参数必须是self,创建类的实例在__init__方法体内,可以将外部传参传递绑定到self,self.name指的是类的变量。需要在实例化的时候传参。

私有方法(方法前有两个下划线,只能类的方法调用,外面对象无法调用);类中私有方法调用,前面要加self

3.if __name__ == '__main__'

通俗的理解__name__ == '__main__':假如你叫小明.py,在朋友眼中,你是小明(__name__ == '小明');在你自己眼中,你是你自己(__name__ == '__main__')

if __name__ == '__main__'的意思是:当.py文件被自己直接运行时,if __name__ == '__main__'之下的代码块将被运行;当.py文件以模块形式被导入时,if __name__ == '__main__'之下的代码块不被运行。

如果模块是被导入的,代码块(__name__ == '__main__')下的代码不会被运行;

如果模块是直接运行,代码块(__name__ == '__main__')下的代码会被运行。

参考链接:http://blog.konghy.cn/2017/04/24/python-entry-program/

二.轻量级框架unittest

对unittest二次开发,可以做web,app,api自动化测试

unittest=setUp()【前置条件】+tearDown()【扫尾操作】+测试用例(命名必须以test开头)+测试套件

三.Pytest

Pytest是python的一种单元测试框架。

来源:Python测试框架 - Pytest

全功能Python测试框架:pytest

四.Tips

1.python自带unittest,java有junit框架。

2.unittest框架测试报告 一个点代表成功 F代表失败 E代表异常 (一个位置代表一条测试用例)。

3.fixture:固定配置

把一个函数定义成fixture,在函数声明之前加上“@pytest.fixture”,其他函数要用这个fixture,只用把它做一个输入的参数即可。

面向对象+unittest+pytest的更多相关文章

  1. 自动化冒烟测试 Unittest , Pytest 哪家强?

    前言:之前有一段时间一直用 Python Uittest做自动化测试,觉得Uittest组织冒烟用例比较繁琐,后来康哥提示我使用pytest.mark来组织冒烟用例 本文讲述以下几个内容: 1.Uni ...

  2. [转]Python测试框架对比----unittest, pytest, nose, robot framework对比

      测试框架 什么是框架? 框架(Framework)是整个或部分系统的可重用设计,框架是用来解决代码的组织及运行控制问题的. 在我们编写自动化脚本的时候,经常需要读取配置文件,读取数据文件,发送请求 ...

  3. Python测试框架对比----unittest, pytest, nose, robot framework对比

    什么是框架? 框架(Framework)是整个或部分系统的可重用设计, 框架是用来解决代码的组织及运行控制问题的. 在我们编写自动化脚本的时候,经常需要读取配置文件,读取数据文件,发送请求,记录日志, ...

  4. pycharm右键运行unittest、pytest文件

    在实际学习过程中,有时候会出现右键运行文件,但没有任何结果的情况.这就是没有使用unittest/pytest 的方式运行. 解决方法: 添加好

  5. Pytest权威教程14-缓存:使用跨执行状态

    目录 缓存:使用跨执行状态 使用方法 首先只重新运行故障或故障 上次运行中没有测试失败时的行为 新的config.cache对象 检查缓存内容 清除缓存内容 逐步修复失败用例 unittest.Tes ...

  6. 如何使用Pytest进行自动化测试

    为什么需要自动化测试 自动化测试有很多优点,但这里有3个主要的点 可重用性:不需要总是编写新的脚本,除非必要,即使是新的操作系统版本也不需要编写脚本. 可靠性:人容易出错,机器不太可能.当运行不能跳过 ...

  7. Pytest自动化测试-简易入门教程(03)

    今天分享内容的重点,和大家来讲一下我们的测试框架--Pytest 讲到这个框架的话呢,可能有伙伴就会问老师,我在学习自动化测试过程中,我们要去学一些什么东西? 第一个肯定要学会的是一门编程语言,比如说 ...

  8. Pytest自动化测试-简易入门教程(01)

    我们今天主讲的内容,就是测试框架Pytest,讲到这个测试框架对于没有做过Web自动化的伙伴来说,会觉得这个东西是陌生的,那么到底什么是框架呢?什么又是自动化呢?自动化为什么又要用框架呢? 难道我学自 ...

  9. utittest和pytest中mock的使用详细介绍

    头号玩家 模拟世界 单元测试库介绍 mock Mock是Python中一个用于支持单元测试的库,它的主要功能是使用mock对象替代掉指定的Python对象,以达到模拟对象的行为. python3.3 ...

随机推荐

  1. python theading线程开发与加锁、信号量、事件等详解

    线程有2种调用方式,如下: 直接调用 import threading import time def sayhi(num): #定义每个线程要运行的函数 print("running on ...

  2. 【实战问题】【2】Ambiguous mapping found. Cannot map 'xxController.Create' bean method

    正文: 启动项目时出现该报错. 原因为:在controller中url映射出现重复,@RequestMapping(value = "user/create"). 解决方案为:全局 ...

  3. mysql创建存储过程,批量建表分表00到99

    这里以sqlyong为软件示例: --创建存储过程DELIMITER $$ CREATE PROCEDURE `createTablesWithIndex`() BEGIN DECLARE `@i` ...

  4. jetty 插件启动指定端口号

    clean jetty:run -Djetty.port=端口号

  5. mysql 全文搜索(转载http://blog.csdn.net/manbujingxin/article/details/6656992)

    前提:mysql只支持英文内容的全文索引,所以只考虑英文的全文搜索.假定数据表名为post,有三列:id.title.content.id是自增长序号,title是varchar,content是te ...

  6. django学习之——模版

    为了减少模板加载调用过程及模板本身的冗余代码,Django 提供了一种使用方便且功能强大的 API ,用于从磁盘中加载模板, 要使用此模板加载API,首先你必须将模板的保存位置告诉框架. 设置的保存文 ...

  7. MySQL查询性能调优化

    一.索引的概念 索引:类似于字典的目录,设置索引可以 加速数据查找,对数据进行约束: 二.索引类型: 主键索引:保证数据唯一性,不能重复+不能为空 普通索引:加速数据查找 唯一索引:加速查找+不能重复 ...

  8. group by 错误

    出现错误: which is not functionally dependent on columns in GROUP BY clause; this is incompatible with s ...

  9. windows安装weblogic并集成到eclipse

    1.下载 java是跨平台的,所以windows下载和linux一样的jar文件安装就行,当然也可以使用windows安装程序来安装. (weblogic下载不需要购买--oracle产品都是补丁和技 ...

  10. paysoft 网关出现EntityRef:expecting;的错误。

    paysoft 网关出现EntityRef:expecting;的错误. 原因是传进去的url里有&字符,之前是自动转义的,现在要手工改成& http://www.runoob.com ...