আমি এই পরীক্ষার জন্য ইজিমকের মতো কিছু ব্যবহার করব। মকিং ফ্রেমওয়ার্কগুলি কোনও শ্রেণীর বাইরের নির্ভরতা অপসারণ করার একটি আদর্শ উপায় এবং পরীক্ষার সময় বাইরের নির্ভরতার ফলাফলের উপর আপনাকে সম্পূর্ণ নিয়ন্ত্রণ দেয়। আপনার উদাহরণটি আরও বাড়ানোর জন্য:
class WebClass {
private WebServiceInterface webserviceInterface;
void method(){
R result = webServiceInterface.performWebServiceCall();
... do something with result
}
public void setWebServiceInterface(WebServiceInterface webServiceInterface){
this.webServiceInterface = webServiceInterface;
}
}
interface WebServiceInterface {
R performWebServiceCall();
}
class WebClassTest {
private WebServiceInterface mock;
private R sampleResult = new R();
@Before
public void before(){
mock = EasyMock.createMock(WebServiceInterface.class);
}
@Test
public void test() {
WebClass classUnderTest = new WebClass();
EasyMock.expect(mock.performWebServiceCall()).andReturn(sampleResult);
classUnderTest.setWebServiceInterface(mock);
classUnderTest.method();
EasyMock.verify(mock);
}
}
আপনাকে প্রথমে যা করতে হবে তা হ'ল আপনার ক্লাসে যুক্তিটি বের করতে যেখানে আপনি জার্সি ব্যবহার করেন ওয়েব রিসোর্স পেতে এবং ওয়েব পরিষেবাটিকে একটি পৃথক শ্রেণিতে কল করতে। এই শ্রেণীর জন্য একটি ইন্টারফেস তৈরি করা আপনাকে এমন একটি মক তৈরি করতে অনুমতি দেবে যা আপনি তারপরে আচরণের নির্দেশ দিতে পারেন।
এই ইন্টারফেসটি তৈরি হয়ে গেলে আপনি ইজিমক ব্যবহার করে একটি মক তৈরি করতে পারেন, যা আপনার পরীক্ষার ক্ষেত্রে সুনির্দিষ্ট কোনও বস্তু ফিরিয়ে দেবে। উপরের উদাহরণটি কীভাবে একটি মৌলিক উপহাস পরীক্ষাটি কাঠামোগত করা যায় এবং আপনার ইন্টারফেসটি কীভাবে কাজ করবে তার একটি সরলীকরণ।
উপহাস ফ্রেমওয়ার্ক সম্পর্কিত আরও তথ্যের জন্য, দয়া করে এই প্রশ্নটি দেখুন । এছাড়াও, এই উদাহরণটি জাভা ব্যবহারের কথা ধরেছে তবে উপহাসের ফ্রেমওয়ার্কগুলি সমস্ত ভাষায় পাওয়া যায় এবং যদিও এগুলি ভিন্নভাবে প্রয়োগ করা হয় তবে তারা সাধারণত একইভাবে কাজ করবে