文章目录
- 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://blog.csdn.net/anxuecui5012/article/details/101125601
使用了一个分组demo后,发现和实现效果不太一致,还得是参数化的方式,无法通过命令行单独起一类地图Map_Type 的case用例。
用例分组 demo
3、最终决定
方案一,最简单的直接拆分。去除参数化,修改部分case逻辑。