मैं मॉकिटो और पावरमोकिटो के लिए भी नया हूं। मुझे पता चला कि मैं शुद्ध मॉकिटो के साथ स्थिर तरीकों का परीक्षण नहीं कर सकता, इसलिए मुझे PowerMockito (दाएं?) उपयोगकर्ता की आवश्यकता है।किस कारण से मुझे नकल करना चाहिए?
1) जब मैं फोन है कि रिक्त संदेश तर्क पर स्थिर विधि, IllegalArgumentException कहा जाता है:
मैं यह बहुत ही आसान तरीका
public class Validate {
public final static void stateNotNull(
final Object object,
final String message) {
if (message == null) {
throw new IllegalArgumentException("Exception message is a null object!");
}
if (object == null) {
throw new IllegalStateException(message);
}
}
तो मुझे लगता है कि सत्यापित करने की आवश्यकता के साथ मान्य कहा जाता है बहुत ही सरल वर्ग है
2) जब मैं फोन है कि रिक्त वस्तु तर्क पर स्थिर विधि, IllegalStateException
कहा जाता है मैं अब तक क्या मिला है से, मैं इस परीक्षण ने लिखा है:
import static org.mockito.Matchers.anyString;
import static org.mockito.Matchers.isNull;
import org.junit.Before;
import org.junit.runner.RunWith;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
import org.testng.annotations.Test;
@RunWith(PowerMockRunner.class)
@PrepareForTest(Validate.class)
public class ValidateTestCase {
@Test(expectedExceptions = { IllegalStateException.class })
public void stateNotNullTest() throws Exception {
PowerMockito.mockStatic(Validate.class);
Validate mock = PowerMockito.mock(Validate.class);
PowerMockito.doThrow(new IllegalStateException())
.when(mock)
.stateNotNull(isNull(), anyString());
Validate.stateNotNull(null, null);
}
}
तो यह दर्शाता है कि मैं मान्य वर्ग नकली और मैं जाँच कर रहा हूँ कि जब नकली एक वस्तु और एक संदेश के रूप में किसी भी स्ट्रिंग के रूप में शून्य तर्क के साथ कि विधि पर कहा जाता है, एक IllegalStateException फेंक दिया है।
अब, मुझे वास्तव में यह नहीं मिलता है। मैं उस विधि को सीधे क्यों नहीं बुला सकता, उस स्थिर वर्ग का मज़ाक उड़ाते हुए पूरे वूडू जादू को छोड़ रहा हूं? ऐसा लगता है कि जब तक मैं Validate.stateNotNull को कॉल नहीं करता हूं कि परीक्षण किसी भी तरह से गुजरता है ... किस कारण से मुझे इसका मज़ाक उड़ाया जाना चाहिए?