私はこのような統合テストケースを持っています:
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ものは機能していると確信しています(エラーが発生すると、コンパイルエラーが発生します)。  
私が行方不明になっているところは?単独でテストするためにタイムスタンプ機能を無効にするにはどうすればよいですか?
前もって感謝します。