setup
ブロックが次のように見えるSpockテストケースがあります。
setup: "set the required objects"
def company = new Company(shortName:"infyyy",fullName:"infoysys",
region:"tamilnadu" ,email:"a@ac.com" ,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
}
しかし、テストを実行するとテストが失敗し (エラー メッセージは表示されませんが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
テストで を今日の日付よりも小さくしているのに、なぜこれが起こるのですか? 前もって感謝します。