用例拆分情况考虑方案
文章目录
- 1、方案一
- 方案概述
- 方案分析
- (1) 把对应图商地图的逻辑给分离开
- (2) 要使用命令行的方式执行方法
- 2、方案二
- 3、最终决定
1、方案一
方案概述
- 每个图商(GD、BD、自建)拆分成单独的类
把参数化的几个图商类别拆分成对应的图商类,在每个类中不进行参数化设置,直接在构造函数处指定唯一的图商类型。
最后我们再组成一个测试套件,把各个模块、类中的高德部分case统一执行
方案分析
首先原有结构是 一个testcase 在 4个类型 跑一遍,所以在代码里必须 用if-else区分不同情况,当map_type不同时,进入到不同的断言分支中
我们想要拆分,符合高德的一类、符合百度的一类,HLL自建的一类,在一种地图参数下,
(1) 把对应图商地图的逻辑给分离开
最简单的办法:把baseMap类中对应的高德逻辑 case 单独拆出来,放到一个类中。
把MapCarema类中对应的高德case查出来,放到一个类中。…
最后搞成一个测试套件,高德的 suitCase 一块执行。
(2) 要使用命令行的方式执行方法
最简单的方式就是,拆成一个独立的类,所有的方法只传递一个参数。
拆分成 TestBaseMapGD、 TestCaremaGD等类,GD测试套件类包含GD的几个类,使用AndroidTest命令行 执行测试套件类即可
2、方案二
分类测试也是一种办法:
补充,查阅资料有一种分类测试用例的方法,正在试一试,可以把方法按照类别进行分类执行测试,但是还得考虑一下参数的问题,还在试一下使用
![[图片]](https://img-blog.csdnimg.cn/d279fb5a8003410e90479a37436ab4a3.png)
https://blog.csdn.net/anxuecui5012/article/details/101125601
使用了一个分组demo后,发现和实现效果不太一致,还得是参数化的方式,无法通过命令行单独起一类地图Map_Type 的case用例。
用例分组 demo
3、最终决定
方案一,最简单的直接拆分。去除参数化,修改部分case逻辑。
相关文章:
用例拆分情况考虑方案
文章目录 1、方案一方案概述方案分析(1) 把对应图商地图的逻辑给分离开(2) 要使用命令行的方式执行方法 2、方案二3、最终决定 1、方案一 方案概述 每个图商(GD、BD、自建)拆分成单独的类 把参数化的几个图商类别拆分成对应的图商类,在每个类…...
一文搞懂IS-IS报文通用格式
报文格式 IS-IS报文是直接封装在数据链路层的帧结构中的。PDU可以分为两个部分,报文头和变长字段部分。其中头部又可分为通用头部和专用头部。对于所有PDU来说,通用报头都是相同的,但专用报头根据PDU类型不同而有所差别。 IS-IS的PDU有4种类…...
位置参数 关键字参数
在Python中,函数参数可以按照位置或关键字来传递。这导致了两种主要的参数类型:位置参数和关键字参数。 位置参数: 这是最常见的参数类型,当我们调用函数时,传递给函数的参数值是按照它们的位置来确定的。例如,def fun…...
【果树农药喷洒机器人】Part5:基于深度相机与分割掩膜的果树冠层体积探测方法
文章目录 一、引言二、树冠体积测量对比方法2.1冠层体积人工测量法2.2冠层体积拟合测量法 三、基于深度相机与分割掩膜探测树冠体积方法3.1像素值与深度值的转换3.2树冠体积视觉探测法3.3实验分析 总结 一、引言 果树靶标探测是实现农药精准喷施的关键环节,本章以果…...
生活小妙招之UE custom Decal
因为这几年大部分时间都在搞美术,所以博客相关的可能会鸽的比较多,阿巴阿巴 https://twitter.com/Tuatara_Games/status/1674034744084905986 之前正好看到一个贴花相关的小技巧,正好做一个记录,也在这个的基础上做一些小的拓展…...
DAY02_Spring—第三方资源配置管理Spring容器Spring注解开发Spring整合Mybatis和Junit
目录 一 第三方资源配置管理1 管理DataSource连接池对象问题导入1.1 管理Druid连接池1.2 管理c3p0连接池 2 加载properties属性文件问题导入2.1 基本用法2.2 配置不加载系统属性2.3 加载properties文件写法 二 Spring容器1 Spring核心容器介绍问题导入1.1 创建容器1.2 获取bean…...
Icon图标有哪些在线设计的工具推荐
虽然icon图标相对较小,但icon图标在设计中非常重要。高质量的icon图标通常可以决定设计工作的质量。高质量的在线生产icon工具可以提高设计师图标设计的效率。此外,优秀的图标设计师还可以让设计师快速开始图标设计工作。本文为您选择了五种在线生成icon…...
深度学习环境安装依赖时常见错误解决
1.pydantic 安装pydantic时报以下错误: ImportError: cannot import name Annotated from pydantic.typing (C:\Users\duole\anaconda3\envs\vrh\lib\site-packages\pydantic\typing.py) 这个是版本错误,删除装好的版本,重新指定版本安装就…...
opencv基础47 查找图像轮廓cv2.findContours()详解
什么是图像轮廓? 图像轮廓是指图像中物体边缘的连续性曲线。在计算机视觉和图像处理中,轮廓通常被用于检测物体、分割图像以及提取物体特征。 图像轮廓是由一系列连续的像素点组成,这些像素点位于物体边界上。轮廓的特点是在物体和背景之间的…...
Splunk Enterprise for mac(可视化数据分析软件)详细安装教程
Splunk Enterprise for Mac是一款可视化数据分析软件,为你提供强大的搜索、 分析和可视化功能,可以帮助您获得有价值的业务情报,从你机器生成的数据。还在等什么?有需要的朋友,欢迎前来下载! 实时监测和搜…...
如何实现环卫项目运营的数字化管理,达到企业降本增效的目的?
数字环卫是指利用数字技术和数据驱动的方法来改善环卫流程和管理。数字环卫的底层逻辑在于利用技术来优化运营、提高效率并降低环卫项目管理成本。如何实现环卫工程运营数字化管理,达到降本增效的目标: 1.数据收集和分析:实施数据收集机制&a…...
React Native连接Zebra斑马打印机通过发送CPCL指令打印(Android 和 iOS通用)
自 2015 年发布以来,React Native 已成为用于构建数千个移动应用程序的流行跨平台移动开发框架之一。通常,我们有开发人员询问如何将 Link-OS SDK 与 React Native 应用程序集成,以便在 Zebra 打印机上打印标签。在本教程中,我们将…...
使用 Simulink 进行 STM32 编程
目录 介绍 所需材料 步骤 1:在MATLAB中设置STM32-MAT软件路径步骤 2:在STM32CubeMX中创建一个项目步骤 3:配置时钟和 GPIO 引脚步骤 4:项目经理并生成代码步骤 5:在 Simulink 中创建模型步骤 6:在模型中插…...
走出迷宫的最少步数and第一条出路
题面 题目描述 一个迷宫由 R 行 C 列格子组成,有的格子里有障碍物,不能走;有的格子是空地,可以走。 给定一个迷宫,求从左上角走到右下角最少需要走多少步(数据保证一定能走到)。只能在水平方向或垂直方向走,…...
MediaCodec创建对应解码器
媒体编解码API使用示例 //获取相关格式文件的内容信息,如轨道数量、获取MIME信息、视频的高度与宽度、语言格式、播放总时长等 MediaExtractor mediaExtractor new MediaExtractor(); try {mediaExtractor.setDataSource(path); // 设置数据源 } catch (IOExcept…...
使用eXosip+ffmpeg、ffplay命令行实现sip客户端
文章目录 前言一、关键实现1、主要流程2、解决端口冲突(1)、出现原因(2)、解决方法 3、解析sdp(1)、定义实体(2)、解析视频(3)、解析音频 4、命令行推拉流&am…...
dotNet 之网络TCP
**硬件支持型号 点击 查看 硬件支持 详情** DTU701 产品详情 DTU702 产品详情 DTU801 产品详情 DTU802 产品详情 DTU902 产品详情 G5501 产品详情 ARM dotnet 编程 dotNet使用TCP,可以使用Socket和TcpClient 、TcpListener类 2种,对于高级用户&…...
python基础面试题汇总(持续更新),冲击offer
目录 1.概念理解题python内置数据结构,哪些是不可变的python新式类和经典类的区别is和有什么区别Python中变量查找顺序python函数的参数是值传递还是引用传递python垃圾回收机制什么是闭包什么是装饰器,开发中用到举例如何实现只读属性Python中类方法、实…...
Java课题笔记~ AOP编程术语(掌握)
(1) 切面(Aspect) 切面泛指交叉业务逻辑。上例中的事务处理、日志处理就可以理解为切面。常用的切面是通知(Advice)。实际就是对主业务逻辑的一种增强。 (2) 连接点(Jo…...
暑假刷题第23天--8/6
3748. 递增子串 - AcWing题库 #include<iostream> #include<string> const int N200005; int a[N]; using namespace std; int main(){int t;cin>>t;for(int q1;q<t;q){int n;cin>>n;string s;cin>>s;int cnt1;a[1]1;for(int i2;i<n;i){i…...
Rust构建的跨平台数据备份工具relic:安全高效的快照管理与自动化策略
1. 项目概述:一个面向未来的跨平台数据备份与同步工具最近在整理个人工作流时,我一直在寻找一个能让我在不同设备、不同操作系统之间无缝同步项目配置、文档和代码片段的工具。市面上的云盘虽然方便,但总感觉不够“程序员友好”——要么同步粒…...
ARM PMU中断控制寄存器PMINTENCLR/PMINTENSET详解
1. ARM性能监控单元(PMU)架构概述 在现代处理器设计中,性能监控单元(Performance Monitoring Unit, PMU)是实现系统级性能分析和优化的关键组件。ARM架构从v7开始引入标准化的PMU设计,并在v8/v9架构中持续演进。PMU的核心功能是通过一组可编程事件计数器…...
书成紫微动,律定凤凰驯:海棠山铁哥,用两部作品走完了千年谶语的路
书成紫微动,律定凤凰驯。 ——千年谶语,今终圆满。一、悬在文脉上空的千年谶语“书成紫微动,律定凤凰驯”自诞生之日起,这句庙堂吉颂便高悬于华夏文脉之上,无人可触、无人能落。 文人墨客解其字,玄学爱好者…...
基于Gemini CLI的深度研究工具:命令行AI助手的架构与实战
1. 项目概述:当命令行遇上深度研究如果你和我一样,是个常年泡在终端里的开发者或研究者,那么“allenhutchison/gemini-cli-deep-research”这个项目标题,光是扫一眼,就能让人心跳加速。它精准地戳中了我们这类人的两个…...
Chunkhound:基于语义块与统一IR的智能代码理解框架解析
1. 项目概述:从“代码块猎犬”到智能代码理解 最近在琢磨一个挺有意思的开源项目,叫 chunkhound/chunkhound 。光看名字,你可能会联想到某种嗅觉灵敏的猎犬,没错,它的定位就是代码世界里的“猎犬”,专门负…...
Mastra AI编排框架:构建生产级智能工作流的完整指南
1. 项目概述:一个面向开发者的AI应用编排框架最近在折腾AI应用开发的朋友,估计都绕不开一个核心痛点:如何把不同的AI模型、工具和数据源高效地串联起来,形成一个稳定、可维护的智能工作流。无论是想做个智能客服,还是搞…...
双碳目标下太阳辐射预报模式【WRF-SOLAR】模拟方法及改进技术在气象、农林生态、电力等相关领域中的实践应用
太阳能是一种清洁能源,合理有效开发太阳能资源对减少污染、保护环境以及应对气候变化和能源安全具有非常重要的实际意义,为了实现能源和环境的可持续发展,近年来世界各国都高度重视太阳能资源的开发利用;另外太阳辐射的光谱成分、…...
Fast-Planner核心思想拆解:从B样条优化到时间重分配,如何让无人机飞得更快更稳?
Fast-Planner核心思想解析:从B样条优化到时间重分配的无人机高速运动规划 无人机在复杂环境中的高速飞行一直是运动规划领域的重大挑战。传统方法往往在速度提升后出现轨迹抖动或避障失效的问题,而Fast-Planner通过创新的算法架构实现了"又快又稳&q…...
企业级浏览器自动化测试架构设计:Chrome for Testing的高可用解决方案与实践指南
企业级浏览器自动化测试架构设计:Chrome for Testing的高可用解决方案与实践指南 【免费下载链接】chrome-for-testing 项目地址: https://gitcode.com/gh_mirrors/ch/chrome-for-testing Chrome for Testing是Google ChromeLabs团队为解决浏览器自动化测试…...
人为什么要活着的庖丁解牛
它的本质是:**这个问题本身是一个 逻辑陷阱 (Logical Trap)。它预设了生命必须有一个 外部赋予的、预先定义的“目的” (Pre-defined Purpose),就像软件必须有“需求文档”一样。然而,宇宙是 无目的的 (Purposeless),生命是 涌现的…...
