kullanarak java'da yeni Date() nasıl yapılır Bazı hesaplamalar yapmak için geçerli saati kullanan bir işlev var. Ben mockito kullanarak alay etmek isterim.Mockito
sınıfın bir örneği test etmek istiyorum:
@Test
public void testDoubleTime(){
mockDateSomeHow(Date.class).when(getTime()).return(30);
assertEquals(60,new ClassToTest().getDoubleTime());
}
o alay etmek mümkün mü:
public class ClassToTest {
public long getDoubleTime(){
return new Date().getTime()*2;
}
}
Ben böyle bir şey istiyorum? Test edilmek için "test edilmiş" kodu değiştirmek istemem.
Neden test edilen kodu değiştirmediniz? Daha test edilebilir kod genellikle daha gevşek bir şekilde birleştirilir ... neden bunu istemezdiniz? – blank
[Java System.currentTimeMillis'i geçersiz kıl] olası bir kopyası (http://stackoverflow.com/questions/2001671/override-java-system-currenttimemillis) –
... ve başka bir şey - 'test' kodunu değiştirmek kolaydır - siz ' bir hata yaptığınızda size söyleyecek testler var - diğer yandan test edilmemiş kodları değiştirmek ... Michael Feathers kung foo'ya ihtiyacınız var;) – blank