方式一:接口返回值断言
1. 断言code和msg
Assert.assertEquals(res.getStatusCode(), 200, "人才库-拉黑人员,返回状态码!=200");
Assert.assertEquals(res.getBody().jsonPath().getString("message"), "成功");
2. 断言返回值中list格式中的内容
# 举例说明
{
"code":200,
"message":"成功",
"result":{
"total":1,
"list":[
{
"extId":24917,
"personId":18666,
"id":18666,
"name":"公仔8194"
}
]
}
}
# 断言telephone和name
java.util.List<Map<String, String>> list =res.jsonPath().getList("result.list");
String name = list.get(0).get("name");
String telephone = list.get(0).get("telephone");
Assert.assertEquals(name, selectByPrimaryKey.getName(), "人才库-查询列表,姓名不正确");
Assert.assertEquals(telephone, selectByPrimaryKey.getTelephone(), "人才库-查询列表,手机号不正确");
3. 断言返回值中object格式的内容
# 举例说明
{
"code":200,
"message":"成功",
"result":{
"total":1
}
}
# 断言total
Assert.assertEquals(res.jsonPath().getInt("result.total"), 1, "人才库-查询列表,返回状态码!=200");
方式二:数据库断言
1. 根据统计的数量进行断言
a. TableNameMapper.xml中增加统计数量的sql
<select id="countByPersonId" resultType="java.lang.Integer" parameterType="java.lang.String">
select count(*) from person_post_record where person_id = #{personId}
</select>
b. TableNameMapper.java中增加此映射
int countByPersonId(String personId);
c. 用例层使用此方法来断言
@Autowired private PersonPostRecordMapper personPostRecordMapper;
@Test(description = "人才库新僧人员-录用人员-放弃")
public void test002() {
// 根据person_id,断言personEntryRecord表中的数据是否是0条;
int num = personPostRecordMapper.countByPersonId(id);
Assert.assertEquals(0, num, "人才库新僧人员-录用人员-放弃有问题");
}
2. 根据某一关键字段进行查询并断言
a. 一般注入mapper的时候会有selectByPrimaryKey方法,我们可以根据id进行查询
b. 用例层使用此方法来断言
@Test(description = "人才库筛选-身份证号、手机号、姓名功能测试")
public void test004() {
// 获取人才库新增人员的id
String id = getId();
Person selectByPrimaryKey = personMapper.selectByPrimaryKey(Long.valueOf(id));
Assert.assertEquals(idCardNo, selectByPrimaryKey.getIdCardNo(), "人才库-查询列表,身份证号不正确");
Assert.assertEquals(telephone, selectByPrimaryKey.getTelephone(), "人才库-查询列表,手机号不正确");
}