Karate 在空手道中,我们如何验证带有where条件的查询是否有两个结果?

Karate 在空手道中,我们如何验证带有where条件的查询是否有两个结果?,karate,Karate,我有一个场景,其中带有where条件的SQL查询将产生两行。如果结果是2行,如何断言?目前,空手道正在抛出一个错误org.springframework.dao.IncorrectResultSizeDataAccessException:结果大小不正确:预期为1,实际为2 * def response = db.readRow( 'SELECT * from database_name.table_name where id = \"'+ id + '\";') 我相信这会帮助你: 此外

我有一个场景,其中带有where条件的SQL查询将产生两行。如果结果是2行,如何断言?目前,空手道正在抛出一个错误org.springframework.dao.IncorrectResultSizeDataAccessException:结果大小不正确:预期为1,实际为2

* def response = db.readRow( 'SELECT * from database_name.table_name  where id  = \"'+ id + '\";')

我相信这会帮助你:

此外,您应该使用db.readRows而不是db.readRow

* def dogs = db.readRows('SELECT * FROM DOGS')
* match dogs contains { ID: '#(id)', NAME: 'Scooby' }

* def dog = db.readRow('SELECT * FROM DOGS D WHERE D.ID = ' + id)
* match dog.NAME == 'Scooby'

哦,太好了,还有一个关于
DbUtils
的问题。请阅读:
* def dogs = db.readRows('SELECT * FROM DOGS')
* match dogs contains { ID: '#(id)', NAME: 'Scooby' }

* def dog = db.readRow('SELECT * FROM DOGS D WHERE D.ID = ' + id)
* match dog.NAME == 'Scooby'