Cihaz testi ile alay yazarken bir sorunum var. Alay etmek için ihtiyacım olan bir nesne var, bu kodda onları çağırdığım bir sürü alıcı var. Ancak, bunlar benim birim testimin amacı değildir. Öyleyse, tek tek taklit etmek yerine tüm yöntemleri alay edebilmemin bir yolu var. İşte Mockito tüm yöntemlerle alay edin ve geri dönün
kod örnektir:public class ObjectNeedToMock{
private String field1;
...
private String field20;
private int theImportantInt;
public String getField1(){return this.field1;}
...
public String getField20(){return this.field20;}
public int getTheImportantInt(){return this.theImportantInt;}
}
ve bu deney sınıfı içinde
public class Service{
public void methodNeedToTest(ObjectNeedToMock objectNeedToMock){
String stringThatIdontCare1 = objectNeedToMock.getField1();
...
String stringThatIdontCare20 = objectNeedToMock.getField20();
// do something with the field1 to field20
int veryImportantInt = objectNeedToMock.getTheImportantInt();
// do something with the veryImportantInt
}
}
sınamak için gereken servis sınıftır, test yöntemi
gibi@Test
public void testMethodNeedToTest() throws Exception {
ObjectNeedToMock o = mock(ObjectNeedToMock.class);
when(o.getField1()).thenReturn(anyString());
....
when(o.getField20()).thenReturn(anyString());
when(o.getTheImportantInt()).thenReturn("1"); //This "1" is the only thing I care
}
olduğunu
Yani, yararsız "field1" için "field20" için "ne zaman" yazacağımın bir yolu var mı
Sen bunları boş dönen ince iseniz gerekmez. –
Onları bu örnekte göstermediğim için özür dilerim. – jasonfungsing