私はこのような統合テストケースを持っています:
void testSomething() {
def cardTable = new CardStorage();
cardTable.cardSecurityCode = "something"
def date = new Date()
System.metaClass.static.currentTimeMillis = {
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY,11);
cal.set(Calendar.MINUTE,0);
cal.set(Calendar.SECOND,0);
cal.set(Calendar.MILLISECOND,0);
return date.getTime()
}
assert cardTable.save(flush:true) //this works.
}
行:cardTable.save(flush:true)
は機能しています。を主張しtrue
ます。ただし、問題は、dateCreated
フィールドが()と同じであるということnew Date()
です。どうしてこんなことが起こるのだろうか。currentTimeMillis
私は私の要求に従ってメソッドをコーディングしたので。しかし、それでもグレイルズはそれを拾いません。しかし、私の新しいcurrentTimeMillis
ものは機能していると確信しています(エラーが発生すると、コンパイルエラーが発生します)。
私が行方不明になっているところは?単独でテストするためにタイムスタンプ機能を無効にするにはどうすればよいですか?
前もって感謝します。