我的应用程序数据库colA存储的数据如下:
{
"A": "A ABC123",
"B": "B ABC123",
"C": "C ABC123",
"D": "D ABC123"
}
我已经编写了单元测试代码来检查响应:
//SQL statement
String dbQuery = "SELECT * FROM items.A where id = 'ABC123' order by lastmodificationdateutc desc"
//Connect to SQL Server, global variable is stored at profile
List results = CustomKeywords.'swisslog.database.getSQLResults'(GlobalVariable.dbConnString , GlobalVariable.dbUsername , GlobalVariable.dbPassword ,GlobalVariable.dbDriver ,dbQuery )
//print the "operationnotice" column
String colA = results.get(0).get('colA')
println(colA)
assertThat(colA.A).isEqualTo("A ABC123")
assertThat(colA.B).isEqualTo("B ABC123")
assertThat(colA.C).isEqualTo("C ABC123")
assertThat(colA.D).isEqualTo("D ABC123")
错误返回如下:
groovy.lang.MissingPropertyException: No such property: A for class: java.lang.String
我可以正确看到打印的内容
2019-10-29 16:14:26.979 DEBUG testcase.1
- 5: println(colA)
{
"A": "A ABC123",
"B": "B ABC123",
"C": "C ABC123",
"D": "D ABC123"
}
找到答案,我添加了一些代码来解析json然后声明它们]
def json = new JsonSlurper().parseText(new String(colA))
println('response text: \n' + JsonOutput.prettyPrint(JsonOutput.toJson(colA)))
assertThat(json.A).isEqualTo("A ABC123")
assertThat(json.B).isEqualTo("B ABC123")
assertThat(json.C).isEqualTo("C ABC123")
assertThat(json.D).isEqualTo("D ABC123")