gpt4 book ai didi

testing - 如何检查集成测试中的持久数据

转载 作者:行者123 更新时间:2023-11-28 21:13:47 25 4
gpt4 key购买 nike

在我的集成测试中,我执行以下操作:

void testSave() {
def controller = new BookController()
controller.params.title = "Awesome Book"
controller.params.pages = 1000
controller.save()
// i want to check book data here
}

如何检索我的 Controller 保留的 Book 并检查 title == "Awesome Book"pages == 1000 ?我可以通过测试以某种方式访问​​ Controller 中的 bookInstance 变量吗?

我不能假设 Book.get(1) 会给我正确的 Book,因为数据库中会有 Bootstrap 数据。 Controller 重定向到完全与 Book 无关的页面,因此我无法从 URL 获取 id。我唯一能想到的就是做这样的事情:

void testSave() {
def oldIdList = Book.list()*.id
// set up the parameters and call controller.save()
def insertedId = Book.list()*.id - oldIdList
// check Book.get(insertedId) properties
}

但我希望有更好的方法...

最佳答案

假设您使用的是 Grails 2.0.x,您可以使用 findBy* 方法通过其任何属性查找本书:

def book = Book.findByTitle("Awesome Book")
assertNotNull book

关于testing - 如何检查集成测试中的持久数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11338657/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com