У меня есть тестовый Спок случай, в котором setup
блок выглядит следующим образом:Spock test cases не делает отношения между доменами в Grails?
setup: "set the required objects"
def company = new Company(shortName:"infyyy",fullName:"infoysys",
region:"tamilnadu" ,email:"[email protected]" ,telphone:34343433,fax:34343433).save(failOnError:true)
def project = new Project(name:"testing")
def userInstance = new User(username:username,password:password,
company:company,project:project,pt:["dummy"]).save(failOnError:true)
def tasksInstance = new Tasks(title:"testingwork",startDate:(new Date()-4),endDate:(new Date().clearTime()-6),description:"blah blah",project:project,completed:true,user:userInstance).save(failOnError:true)
И более того, класс домена Tasks
выглядит следующим образом:
class Tasks {
static belongsTo = [ user : User, project: Project ]
//other code
}
И User
класс, как это :
class User {
static hasMany = [ holidays : Holiday, tasks : Tasks, pt:String, project: Project ]
//other code
}
Но когда я запускаю свой тест, и мой тест выходит из строя (не с сообщением об ошибке, b ut он не работает в блоке then
моего теста Spock), и я обнаружил ошибку в нем. Моя настройка не создает никаких отношений между User
и Tasks
, что делает мой тест неудачным.
код контроллера, который я пытаюсь проверить это:
def todaysTasks() {
def user = User.get(springSecurityService.principal.id)
def choice = params.managersProject
params.max = Math.min(params.max ? params.int('max') : 10,100)
def search = Tasks.createCriteria().list(max: params.max as Integer, offset: params.offset as Integer, order: params.order as String, sort : params.sort) {
and {
project {
like('name',"${choice}")
}
eq('endDate', new Date().clearTime())
}
}
println "todays task selected project is " + search
[tasksInstanceList : search, tasksInstanceTotal: search.getTotalCount() ]
}
println
в приведенных выше тестовых отпечатков 0
. Почему это происходит, хотя я делаю endDate
в своем тесте меньше сегодняшней даты? Спасибо заранее.
Вам необходимо предоставить более подробную информацию. Пожалуйста, опубликуйте тест, который выходит из строя, и сообщение об ошибке с помощью stacktrace. –