【发布时间】:2015-10-30 06:15:38
【问题描述】:
嗨,我是 grails 测试的新手。愿意进行如下集成测试,但是
问题是executeUpdate() 似乎没有更新值
如何进行集成测试
executeUpdate('update query goes here')??
请帮忙推荐一下 给出了问题演示的示例代码。 提前致谢。
def "for given merchantTier Id update merchantTier value"(){
setup:
def merchantTier = new MerchantTier(
value:1.11).save(flush: true) //it saves merchantTier
when:"when update with setProperty"
testData = editWithSetProperty(merchantTier.id) //id is passed
then:"it updates data and test is success"
merchantTier.value == 2.22
when:"executeUpdate query is used instead"
testData = editWithExecuteUpdate(merchantTier.id)// id is passed
then:"it does not update the data and test is failed"
merchantTier.value == 3.33
}
def editWithSetProperty(id) {
def merchantTier = MerchantTier.get(id.toLong())
merchantTier.setValue(2.22.toDouble())
}
def editWithExecuteUpdate(id) {
MerchantTier.executeUpdate('update MerchantTier mt set mt.value=:mrValue where mt.id=:mtId', [mrValue: 3.33.toDouble(), mtId: id.toLong()])
}
如何进行集成测试
executeUpdate('update query goes here')??
【问题讨论】:
-
是的,但那很复杂,所以我试图简化那个。谢谢
标签: grails groovy integration-testing spock