2.1 @மோக் சிறுகுறிப்பு
Mockito இல் போலி பொருள்களுடன் வேலை செய்ய இரண்டு வழிகள் உள்ளன. முதலாவது முழு மெய்நிகர் பொருளை உருவாக்குவது , இரண்டாவது ஏற்கனவே உள்ள பொருளை ஒரு ரேப்பரில் போர்த்துவது. முதல்ல ஆரம்பிப்போம்.
முழு மெய்நிகர் பொருளை உருவாக்க, நீங்கள் குறியீட்டை எழுத வேண்டும்:
ClassName variable name = Mockito.mock(ClassName.class);
உதாரணத்திற்கு ஒரு போலி வரிசை பட்டியல் வகுப்பை உருவாக்குவோம்:
@ExtendWith(MockitoExtension.class)
class MockTest {
@Test
public void whenNotUseMockAnnotation_thenCorrect() {
List mockList = Mockito.mock(ArrayList.class);
//these methods won't do anything - they are stubs
mockList.add("one");
mockList.add("two");
}
}
இந்த எடுத்துக்காட்டில், நாம் ஒரு போலி வரிசைப்பட்டியலை உருவாக்கி, அதற்கான குறிப்பை mockList மாறியில் சேமிக்கிறோம். இந்த பொருளின் முறைகள் எதுவும் செய்யாது.
இதற்கு ஒரு சிறப்பு சிறுகுறிப்பு இருப்பதால், இந்த குறியீட்டை இன்னும் சுருக்கமாக எழுதலாம் @Mock
.
@ExtendWith(MockitoExtension.class)
class MockTest {
@Mock
List mockList;
@Test
public void whenNotUseMockAnnotation_thenCorrect() {
//these methods won't do anything - they are stubs
mockList.add("one");
mockList.add("two");
}
}
இரண்டாவது வழக்கில், MockitoExtension
அது வகுப்புக் குறியீட்டையே பகுப்பாய்வு செய்து தேவையான ஸ்டப்களை உருவாக்கும். நீங்கள் முறையை அழைக்க தேவையில்லை Mockito.mock()
. ஒரு சிறுகுறிப்பு மற்றும் மெய்நிகர் பொருள் தயாராக உள்ளது. அழகு.
2.2 @ஸ்பை சிறுகுறிப்பு
மொக்கிட்டோவில் உள்ள இரண்டாவது முக்கியமான வகை பொருள்கள், ஏற்கனவே உள்ள பொருட்களின் மீது ரேப்பர்கள். அவை ஒருபுறம், ஏற்கனவே உள்ள வகுப்புகளைப் பயன்படுத்த அனுமதிக்கின்றன, மறுபுறம், அத்தகைய பொருட்களின் அனைத்து முறைகள் மற்றும் மாறிகளுக்கான அழைப்புகளை இடைமறிக்க: தேவையான இடங்களில் அவற்றின் வேலையைச் சரிசெய்ய. அவை போலி பொருள்களைப் போலவே அடிக்கடி பயன்படுத்தப்படுகின்றன.
ஒரு பொருளின் மீது ரேப்பரை உருவாக்க, நீங்கள் குறியீட்டை எழுத வேண்டும்:
ClassName variable name = Mockito.spy(an object);
ArrayList வகுப்பைச் சுற்றி ஒரு ரேப்பருடன் ஒரு எடுத்துக்காட்டு:
@ExtendWith(MockitoExtension.class)
class SpyTest {
@Test
public void whenMockAnnotation() {
List<String> mockList = Mockito.spy(new ArrayList<String>());
//these methods will work!
mockList.add("one");
mockList.add("two");
}
}
அதன் எளிமையான வடிவத்தில், ஒரு ரேப்பர் பொருளுக்கான அழைப்பு, அழைப்புகளை அசல் பொருளுக்குத் திருப்பிவிடும், அது தனக்குள்ளேயே வைத்திருக்கும் குறிப்பு . எல்லாம் அசல் பொருளைப் போலவே செயல்படும்.
சிறுகுறிப்பைப் பயன்படுத்தி ஒரு ரேப்பரையும் உருவாக்கலாம் - @Spy
.
@ExtendWith(MockitoExtension.class)
class SpyTest {
@Spy
List mockList = new ArrayList<String>();
@Test
public void whenMockAnnotation() {
// these methods will work!
mockList.add("one");
mockList.add("two");
}
}
இந்த இரண்டு குறியீடு எடுத்துக்காட்டுகளும் சமமானவை.
GO TO FULL VERSION