接口测试之结果校验

结果校验主要分为三大类的校验:返回值的校验、存储的校验和日志的校验。
1.返回值校验:
a. 基本类型数据,优先使用Assert类进行校验。testng原生assert支持哪些校验,请参照我之前的BLOG,TestNG Assert 详解
b. 两个自定义Object比较, 如果Object 对象均实现了hashCode() 及equals 方法,推荐使用Assert.assertEquals() 比较。
    两个自定义Object类未实现上述两个方法,建议使用  EqualsBuilder.reflectionEquals 进行比较,可以全属性比较,也可以部分属性     比较。来自apache的工具类。
<dependency>
                                <groupId>commons-lang</groupId>
                                <artifactId>commons-lang</artifactId>
                                <version>2.5</version>
                        </dependency>


d. List<Object> Set<Object>  如果Object 对象均实现了hashCode() 及equals 方法,推荐使用Assert.assertEquals() 比较。
    List<Object> Set<Object> 未实现上述两个方法,可以使用我编写的CollectionHelper方法比较,提供反射全属性比较,反射部分属性比较,自定义比较方法比较三种方法进行比较。
e. List<List<Object>> 如果Object 对象均实现了hashCode() 及equals 方法,推荐使用Assert.assertEqualsNoOrder(left.toArrayList(), right.toArrayList()) 比较。
未实现,则需要自己编写校验逻辑。如果再在上面包装一层LIST,则也需要自己编写实现逻辑。
f. Map<Key, Value>  Key Value均实现hashCode() 及equals 方法,使用Assert.assertEquals()比较。未实现,则需要自己编写校验逻辑。
  Map<Key, Value> 其中Key实现了hashCode() 及equals方法,可以使用我编写的CollectionHelper方法比较,提供反射全属性比较,反射部分属性比较,自定义比较方法比较三种方法进行比较。

2.存储数据校验,包括DB,HBASE,MILE,TAIR 等。
内存中数据校验:
生成文件的校验:

3.日志校验:
推荐使用LogWatcher工具类进行校验,依赖了这两个JAR包。
<dependency>
			<groupId>ch.ethz.ganymed</groupId>
			<artifactId>ganymed-ssh2</artifactId>
			<version>build210</version>
		</dependency>
		<dependency>
  			<groupId>ganymed</groupId>
  			<artifactId>ganymed-ssh2</artifactId>
  			<version>2.5.0</version>
		</dependency>



接口测试之结果校验

上一篇:如何给照片/图片局部打马赛克?


下一篇:Photoshop将花坛边的美女调制出柔美的古典黄褐色效果