我想創建Grails的測試,以保證確實是獨特的:真正約束的作品,這是我的等級和測試文件:Grails獨特測試失敗?
包edu.drexel.goodwin.events.domain
類UpayConfig {
String name
String siteId
String postingCode
static constraints = {
name(blank:false, maxSize:50)
siteId(blank:false, unique:true)
postingCode(blank:false)
}
}
包edu.drexel.goodwin.events.domain
進口GRAI ls.test。*
類UpayConfigTests延伸GrailsUnitTestCase { 保護無效設置(){ super.setUp() }
protected void tearDown() {
super.tearDown()
}
void testCleanUpayConfigValidates() {
mockForConstraintsTests UpayConfig
def cleanUpayConfig = create()
assertTrue cleanUpayConfig.validate()
}
void testUpayConfigSiteIdMustBeUnique() {
mockForConstraintsTests UpayConfig
def upayConfigOne = create()
def upayConfigTwo = create()
assertFalse upayConfigOne.validate()
assertFalse upayConfigTwo.validate()
upayConfigTwo.siteId = '81'
assertTrue upayConfigOne.validate()
assertTrue upayConfigTwo.validate()
}
UpayConfig create() {
def upayConfig = new UpayConfig(
siteId: '82',
name: 'SMT - Workshops',
postingCode: '6'
)
}
}
但是,第二測試失敗,upayConfig變量兩個都返回true。對於.validate(),即使我告訴他們都有相同的siteId ...
我有一種感覺,這與事實有關e沒有被放置在數據庫中,只是被存儲在內存中?
所有幫助非常感謝,謝謝。 -Asaf