Asa*_*saf 2 testing grails unique
我试图在grails中创建一个测试,以确保唯一的:true约束有效,这是我的类和测试文件:
包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)
}
Run Code Online (Sandbox Code Playgroud)
}
包edu.drexel.goodwin.events.domain
import grails.test.*
class UpayConfigTests扩展GrailsUnitTestCase {protected void setUp(){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'
)
}
Run Code Online (Sandbox Code Playgroud)
}
但是第二次测试失败了,upayConfig变量都为.validate()返回true,即使我告诉他们两者都有相同的siteId ......
我有一种感觉,这与这些没有放在数据库中的事实有关,只是存储在内存中?
非常感谢所有帮助,谢谢.-Asaf