से प्रत्येक बार अलग-अलग मान लौटें मेरे पास एक यूनिट परीक्षण है जहां मैं java.net.URI
कक्षा का मज़ाक उड़ा रहा हूं। इसके अलावा, मैं एक jmockit NonStrictExpectation
बना रहा हूं जहां मुझे URI.getPath()
का आविष्कार करने और एक विशेष स्ट्रिंग लौटने की उम्मीद है।jmockit अपेक्षा
परीक्षण किया जा रहा कोड दो बार URI.getPath()
आमंत्रित करता है, जहां मुझे प्रत्येक बार एक अलग स्ट्रिंग भेजने की आवश्यकता होती है।
public void validateResource() {
// some code
URI uri = new URI(link1.getHref());
String path1 = uri.getPath();
// some more code
uri = new URI(link2.getHref());
String path2 = uri.getPath();
}
यहाँ इकाई परीक्षण कोड है::
यहाँ परीक्षण के अंतर्गत अपने वास्तविक तरीका है
@Mocked URI uri;
@Test
public void testValidateResource() {
new NonStrictExpectations() {
{
// for the first invocation
uri.getPath(); returns("/resourceGroup/1");
// for the second invocation [was hoping this would work]
uri.getPath(); returns("/resource/2");
}
};
myObject.validateResource();
}
अब, मैं चाहता हूँ "/resource/2"
जब URI.getPath()
दूसरा कहा जाता है मेरी उम्मीद से वापस करने पहर। लेकिन यह हमेशा पहली उम्मीद को हिट करता है और "/recourceGroup/1"
देता है। यह मेरी समस्या है।
मैं इसे कैसे कर सकता हूं? मैं कई कारणों से वास्तव में StrictExpectations
का उपयोग नहीं कर सकता, और NonStrictExpectations
के साथ रहना होगा।
एक आकर्षण की तरह काम किया ... धन्यवाद :) –
बढ़िया, खुशी हुई यह काम किया! –
उत्तर में प्रलेखन लिंक टूटा हुआ है। यहां एक अपडेट किया गया [लिंक] (http://jmockit.org/tutorial/Mocking.html#results) –