我有一个域:
MyClass与 Realm

String a
String b

我有一个测试:
void testRemoveMyClass() {

    MyClass x = new MyClass()
      x.setId(3)
      x.setA("AAA")
      x.setB("BBB")
      x.save()

    if (!MyClass.exists(3)) {
        fail "Object does not exist"
    }

    x.delete()

    if (MyClass.exists(3)) {
        fail "Object exists"
    }
}

第二个“失败”失败。如何通过ID删除该对象?

最佳答案

首先:请勿使用类型化引用,而应使用:

def x = new MyClass()

关于他的主题的很好的阅读:http://blog.springsource.org/2010/07/28/gorm-gotchas-part-3/

您的对象仍然存在,但不应再保留。在测试结束前尝试,而不是第二个exists():
def y = MyClass.findById(3)
assert y == null

顺便说一句,您可以通过构造函数中的map轻松创建域对象:
def x = new MyClass(id: 3, a: 'AAA', b: 'BBB')

关于grails - 如何在Grails中的测试中从数据库中删除对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16666684/

10-13 09:19
查看更多