हैलो मैं सरल समस्या से जूझ रहा हूं।जुनीट टेस्ट विधि जो एक ही ऑब्जेक्ट में अन्य विधियों का उपयोग करती है
जनरल विचार:
class Foo(){
public boolean method1();
public String method2();
public String method3();
public String shortcut(){
return (method1() == true) ? method2() : method3();
}
}
मैं शॉर्टकट विधि कैसे परीक्षण करना चाहिए?
मुझे पता है कि अन्य ऑब्जेक्ट का उपयोग करने वाली वस्तुओं और परीक्षण विधियों का नकल कैसे करें। नमूना:
class Car{
public boolean start(){};
public boolean stop(){};
public boolean drive(int km){};
}
class CarAutoPilot(){
public boolean hasGotExternalDevicesAttached(){
//Hardware specific func and api calls
//check if gps is available
//check if speaker is on
//check if display is on
}
public boolean drive(Car car, int km){
//drive
boolean found = hasGotExternalDevicesAttached();
boolean start = c.start();
boolean drive = c.drive(km);
boolean stop = c.stop();
return (found && start && drive && stop) == true;
}
}
class CarAutoPilotTest(){
@Test
public void shouldDriveTenKm(){
Car carMock = EasyMock.Create(Car.class);
EasyMock.expect(carMock.start()).andReturns(true);
EasyMock.expect(carMock.drive()).andReturns(true);
EasyMock.expect(carMock.stop()).andReturns(true);
EasyMock.reply(carMock);
CarAutoPilot cap = new CarAutoPilot();
boolean result = cap.drive(cap,10);
Assert.assertTrue(result);
EasyMock.verify(carMock);
}
}
लेकिन क्या GotExternalDevicesAttached() विधि है? यह केवल नमूना असली परिदृश्य नहीं है। मुझे ड्राइव विधि का परीक्षण कैसे करना चाहिए? क्या मुझे यह भी मिलना चाहिए कि GotExternalDevicesAttached फ़ंक्शन?
क्या मैं परीक्षण की जा रही कक्षा का नकल कर सकता हूं?
के लिए +1 चाहते हैं तो "मैं ड्राइव विधि कैसे परीक्षण करना चाहिए?" पनी सामान –