2013-05-21 3 views
0
에서 테스트 데이터베이스에서 개체를 제거

나는 도메인을 가지고 방법 :Grails의

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" 
    } 
} 

그리고 두 번째 '필드

String a 
String b 
내가 테스트를 가지고

MyClass 실패 '실패. ID로이 개체를 어떻게 삭제할 수 있습니까? 모든

답변

1

첫째 : 자신의 주제에 대한

def x = new MyClass() 

아주 좋은 독서 : 입력 된 참조 사용 사용하지 않는 http://blog.springsource.org/2010/07/28/gorm-gotchas-part-3/

개체가 여전히 존재를하지만 더 이상 지속되어서는 안된다. 대신 두 번째 exists()의 시험의 말하십시오 :

def y = MyClass.findById(3) 
assert y == null 

을 BTW, 당신은 당신의 도메인이 생성자에서지도를 통해 eaisier 개체를 만들 수 있습니다

def x = new MyClass(id: 3, a: 'AAA', b: 'BBB') 
+1

"첫째 : 사용하지 않는 입력 된 참조 "- 이것은 분명히 황금률이 ​​아닙니다. 링크 된 기사에'def'를 사용하여'ClassCastException'을 막으라고합니다. –