Mockito to fałszywy framework dla Javy. Jest zainspirowany EasyMock, ale ma na celu jeszcze większe uproszczenie próbnego krojenia, weryfikacji i narzędzi.
Używam Mockito do późniejszego serwisowania testów jednostkowych. Jestem zdezorientowany, gdy w użyciu doAnswervs thenReturn. Czy ktoś może mi pomóc szczegółowo? Do tej pory próbowałem tego z thenReturn.
W obecnym stanie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi będą poparte faktami, referencjami lub ekspertyzą, ale to pytanie prawdopodobnie będzie wymagało debaty, argumentów, ankiet lub rozszerzonej dyskusji. Jeśli uważasz, że to pytanie można poprawić i prawdopodobnie ponownie otworzyć, odwiedź centrum pomocy, aby uzyskać …
Używam Springa 3.1.4.RELEASE i Mockito 1.9.5. Na moich zajęciach wiosennych mam: @Value("#{myProps['default.url']}") private String defaultUrl; @Value("#{myProps['default.password']}") private String defaultrPassword; // ... Z mojego testu JUnit, który obecnie skonfigurowałem w następujący sposób: @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration({ "classpath:test-context.xml" }) public class MyTest { Chciałbym sfałszować wartość mojego pola „defaultUrl”. Zauważ, że nie chcę naśladować …
Istnieje wiele sposobów na zainicjowanie pozorowanego obiektu przy użyciu MockIto. Jaki jest najlepszy sposób spośród nich? 1. public class SampleBaseTestCase { @Before public void initMocks() { MockitoAnnotations.initMocks(this); } 2. @RunWith(MockitoJUnitRunner.class) [EDYCJA] 3. mock(XXX.class); zasugeruj mi, czy są inne sposoby lepsze niż te ...
Dopasowujących Mockito argument (takie jak any, argThat, eq, samei ArgumentCaptor.capture()) zachowują się inaczej dopasowujących Hamcrest. Dopasowania Mockito często powodują wyjątek InvalidUseOfMatchersException, nawet w kodzie, który jest wykonywany długo po użyciu jakichkolwiek dopasowań. Dopasowania Mockito podlegają dziwnym regułom, takim jak wymaganie użycia dopasowań Mockito tylko dla wszystkich argumentów, jeśli jeden argument …
Chcę użyć Mockito do przetestowania (uproszczonego) kodu poniżej. Nie wiem, jak powiedzieć Mockito, żeby za pierwszym razem zawiódł, a za drugim odniósł sukces. for(int i = 1; i < 3; i++) { String ret = myMock.doTheCall(); if("Success".equals(ret)) { log.write("success"); } else if ( i < 3 ) { log.write("failed, but …
Pisząc nowy test jUnit4 zastanawiam się, czy użyć @RunWith (MockitoJUnitRunner.class) czy MockitoAnnotations.initMocks (this) . Utworzyłem nowy test, a kreator automatycznie wygenerował test z Runnerem. Javadocs dla MockitoJUnitRunner zawierają następujące informacje: Kompatybilny z JUnit 4.4 i nowszymi wersjami, ten runner dodaje następujące zachowanie: Inicjuje makiety z adnotacjami Mock, więc jawne użycie …
Mam następującą metodę, na której chcę sprawdzić zachowanie. public void methodToTest(Exception e, ActionErrors errors) { ... errors.add("exception.message", ActionMessageFactory.createErrorMessage(e.toString())); errors.add("exception.detail", ActionMessageFactory.createErrorMessage(e.getStackTrace()[0].toString())); ... } W mojej klasie @Test miałem nadzieję zrobić coś takiego, aby sprawdzić, czy errors.add()jest wywoływane z „wyjątkiem.message” i ponownie z „wyjątkiem.detail” verify(errors).add(eq("exception.message"), any(ActionError.class)); verify(errors).add(eq("exception.detail"), any(ActionError.class)); jednak Mockito narzeka w …
Biorąc pod uwagę następujące oświadczenie Mockito: when(mock.method()).thenReturn(someValue); W jaki sposób Mockito tworzy coś dla makiety, biorąc pod uwagę, że instrukcja mock.method () przekaże wartość zwracaną do when ()? Wyobrażam sobie, że wykorzystuje to trochę rzeczy CGLib, ale chciałbym wiedzieć, jak to jest technicznie zrobione.
Jak mogę używać zastrzyku z Mockito i JUnit 5? W JUnit4 mogę po prostu użyć @RunWith(MockitoJUnitRunner.class)Adnotacji. W JUnit5 nie ma @RunWithadnotacji?
klasa publiczna A { public void method (boolean b) { jeśli (b == prawda) metoda1 (); jeszcze metoda2 (); } private void method1 () {} private void method2 () {} } public class TestA { @Test public void testMethod () { A a = mock (klasa A.); a. metoda (prawda); …
Mój kod jest jak poniżej, @RunWith(MockitoJUnitRunner.class) public class MyClass { private static final String code ="Test"; @Mock private MyClassDAO dao; @InjectMocks private MyClassService Service = new MyClassServiceImpl(); @Test public void testDoSearch() throws Exception { final String METHOD_NAME = logger.getName().concat(".testDoSearchEcRcfInspections()"); CriteriaDTO dto = new CriteriaDTO(); dto.setCode(code); inspectionService.searchEcRcfInspections(dto); List<SearchCriteriaDTO> summaryList = new …
Mam kod podobny do tego poniżej: Class A { public boolean myMethod(someargs) { MyQueryClass query = new MyQueryClass(); Long id = query.getNextId(); // some more code } } Class MyQueryClass { .... public Long getNextId() { //lot of DB code, execute some DB query return id; } } Teraz piszę …
Wydaje się, że mockito tylko sprawdza, czy wywoływana jest metoda obiektu pozorowanego, a obiekt pozorowany zawsze ma coś podobnego doReturn().when(mock object) Ale czy mogę utworzyć obiekt pozorowany i zdefiniować, doReturn().when(mock object) a następnie zweryfikować wywołanie metody innego obiektu? Oto, co chcę zrobić: definiuję mockEnvironment i zwracam odpowiedź bez względu na …
Mockito - rozumiem, że szpieg wywołuje prawdziwe metody na obiekcie, podczas gdy makieta wywołuje metody na podwójnym obiekcie. Należy również unikać szpiegów, chyba że wyczuwa się zapach kodu. Jednak jak działają szpiedzy i kiedy właściwie należy ich używać? Czym się różnią od kpiny?
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.