का उपयोग कर जावा में नई तिथि() का नकल कैसे करें मेरे पास एक ऐसा फ़ंक्शन है जो कुछ गणना करने के लिए वर्तमान समय का उपयोग करता है। मैं इसे मॉकिटो का उपयोग करके नकली करना चाहता हूं।मॉकिटो
वर्ग का एक उदाहरण मैं परीक्षण करना चाहते हैं:
@Test
public void testDoubleTime(){
mockDateSomeHow(Date.class).when(getTime()).return(30);
assertEquals(60,new ClassToTest().getDoubleTime());
}
यह है कि नकली करना संभव है:
public class ClassToTest {
public long getDoubleTime(){
return new Date().getTime()*2;
}
}
मैं की तरह कुछ करना चाहते हैं? मैं परीक्षण के लिए "परीक्षण" कोड को बदलना नहीं चाहूंगा।
आप परीक्षण कोड क्यों नहीं बदलेंगे? कोड जो अधिक टेस्टेबल है आमतौर पर अधिक ढीला युग्मित होता है ... आप उसे क्यों नहीं चाहेंगे? – blank
[जावा सिस्टम.currentTimeMillis ओवरराइड] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/2001671/override-java-system-currenttimemillis) –
... और दूसरी बात - 'परीक्षण' कोड बदलना आसान है - आप ' जब आपको गलती हुई तो आपको यह बताने के लिए परीक्षण मिल गए - दूसरी तरफ अन-परीक्षण कोड बदल रहा है ... आपको माइकल फेदर्स कुंग फू की आवश्यकता है;) – blank