unitTest理论

unitTest:

通过直接导入UnitTest包即可实现

主要用于管理测试用例和实现数据驱动

一、unittest单元测试框架和自动化测试框架的关系

单元测试:指的是针对我们程序的最小单元(方法)进行测试。

unittest它是自动化框架的重要组成部分之一。

Pom,是自动化框架的重要组成部分之一

ddt数据驱动,是自动化框架的重要组成部分之一

全局配置文件封装,是自动化框架的重要组成部分之一

selenium二次封装,是自动化框架的重要组成部分之一

日志监控,是自动化框架的重要组成部分之一

断言,邮件发送。。。。。。

二、单元测试框架对比

基于python语言:unittest和pytest

基于java语言:junit和estng

1、用例编写规则

unittest:提供了testcases测试用例、testsuits测试事件、testfixtures测试固件或夹具、testloader测试加载器、 testrunner测试运行器。必须遵守以下规则:

(1)测试文件必须先导入import unittest

(2)测试类必须继承unittest.TestCase

(3)测试方法必须以test开头

Pytest:它是python的第三方测试框架。基于unittest的扩展框架,必须遵守以下规则:

(1)测试文件名必须以test_开头或者_test结尾。

(2)测试类命令必须以Test开头

(3)测试方法必须test开头

2、用例的前置和后置

Unittest:

setUp/teatDown 在每个用例之前或之后运行一次。

打开浏览器,加载网页/关闭网页,关闭浏览器

setUpClass/tearDownClass 在每个类运行之前或之后运行一次

创建数据库连接,创建日志对象/关闭数据库连接,销毁日志对象

setUpModule/tearDownModule 在每个模块之前和之后执行一次

Pytest:(在类的里面属于方法,类的外面属于函数)

方法级:setup_mothod/teardown_mothod 在方法之前和之后

setup/teardown

函数级:setup_function/teardown_function 在函数之前和之后

类级:

setup_class/teardown_class 在类之前和之后

模块:

setup_module/teardown_module

还有,还可以在函数之前加@pytest.fixture()

3、断言

unittest:assertTrue、assertEqual、assertln

pytest:assert

4、报告

unittest:htmltestrunner

pytest:插件:pytest-HTML、allure

5、失败重跑

unittest:没有

pytest:pytest_runnfailures插件

6、数据驱动

Unittest:ddt

Pytest:@pytest.mark.parametrize装饰器

7、用例分类执行

unittest默认执行所有,也可以通过testsuite来执行部分用例,或者-k参数。

Pytest:@pytest.mark

三、unittest框架主要做了什么?

1、测试发现:从多个py文件中收集并且加载测试用例

2、测试执行:将测试用例按照一定的顺序和条件去执行并且生成结果

3、测试判断:通过断言去判断结果是否正确

4、测试报告:统计测试进度,通过率,生成报告

四、unittest重要组件

1.TestCase

2.TestSuite

3.TestFixture

4.TestLoader

5.TestRunner

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值