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.
Jak wyśmiewać metody typu void return? Wdrożyłem wzorzec obserwatora, ale nie mogę kpić z Mockito, ponieważ nie wiem jak. Próbowałem znaleźć przykład w Internecie, ale mi się nie udało. Moja klasa wygląda następująco: public class World { List<Listener> listeners; void addListener(Listener item) { listeners.add(item); } void doAction(Action goal,Object obj) { …
Jak sprawdzić, czy metoda nie jest wywoływana w zależności od obiektu? Na przykład: public interface Dependency { void someMethod(); } public class Foo { public bar(final Dependency d) { ... } } Dzięki testowi Foo: public class FooTest { @Test public void dependencyIsNotCalled() { final Foo foo = new Foo(...); …
Mam metodę, która jest wywoływana dwukrotnie i chcę uchwycić argument drugiego wywołania metody. Oto, co próbowałem: ArgumentCaptor<Foo> firstFooCaptor = ArgumentCaptor.forClass(Foo.class); ArgumentCaptor<Foo> secondFooCaptor = ArgumentCaptor.forClass(Foo.class); verify(mockBar).doSomething(firstFooCaptor.capture()); verify(mockBar).doSomething(secondFooCaptor.capture()); // then do some assertions on secondFooCaptor.getValue() Ale dostaję TooManyActualInvocationswyjątek, ponieważ Mockito uważa, że doSomethingnależy to nazwać tylko raz. Jak mogę zweryfikować argument drugiego …
Czy jest jakiś sposób, za pomocą Mockito, wyśmiewać niektóre metody w klasie, ale nie inne? Na przykład w tej (wprawdzie wymyślonej) Stockklasie chcę wyśmiewać wartości getPrice()i getQuantity()zwracać wartości (jak pokazano w fragmencie testowym poniżej), ale chcę, getValue()aby wykonać mnożenie zgodnie z zakodowaniem w Stockklasie public class Stock { private final …
Mam metodę z voidtypem zwrotu. Może również generować wiele wyjątków, dlatego chciałbym przetestować zgłoszone wyjątki. Wszystkie próby zakończyły się niepowodzeniem z tego samego powodu: Metoda, w której (T) w typie Stubber nie ma zastosowania do argumentów (void) Wszelkie pomysły, w jaki sposób mogę uzyskać metodę zgłaszania określonego wyjątku? doThrow(new Exception()).when(mockedObject.methodReturningVoid(...));
Napisałem fabrykę do produkcji java.sql.Connectionprzedmiotów: public class MySQLDatabaseConnectionFactory implements DatabaseConnectionFactory { @Override public Connection getConnection() { try { return DriverManager.getConnection(...); } catch (SQLException e) { throw new RuntimeException(e); } } } Chciałbym zweryfikować przekazane parametry DriverManager.getConnection, ale nie wiem, jak wyśmiewać metodę statyczną. Używam JUnit 4 i Mockito do moich …
Używam Mockito 1.9.0. Chcę kpić zachowanie dla jednej metody klasy w teście JUnit, więc mam final MyClass myClassSpy = Mockito.spy(myInstance); Mockito.when(myClassSpy.method1()).thenReturn(myResults); Problem polega na tym, że w drugiej linii myClassSpy.method1()jest wywoływany, co powoduje wyjątek. Jedynym powodem, dla którego używam makiet, jest to, że później, przy każdym myClassSpy.method1()wywołaniu, nie zostanie wywołana …
Jestem nowy w Mockito. Biorąc pod uwagę poniższą klasę, jak mogę użyć Mockito, aby sprawdzić, czy wywołano someMethoddokładnie raz po foowywołaniu? public class Foo { public void foo(){ Bar bar = new Bar(); bar.someMethod(); } } Chciałbym wykonać następujące połączenie weryfikacyjne, verify(bar, times(1)).someMethod(); gdzie barjest kpina z Bar.
Chcę sprawdzić, czy metoda jest wywoływana przynajmniej raz za pomocą weryfikacji mockito. Użyłem weryfikacji i narzeka tak: org.mockito.exceptions.verification.TooManyActualInvocations: Wanted 1 time: But was 2 times. Undesired invocation:
Próbuję przetestować jakiś starszy kod, używając Mockito. Chcę wkleić plik FooDaoużywany w produkcji w następujący sposób: foo = fooDao.getBar(new Bazoo()); Umiem pisać: when(fooDao.getBar(new Bazoo())).thenReturn(myFoo); Ale oczywistym problemem jest to, że getBar()nigdy nie jest wywoływany z tym samym Bazooobiektem, dla którego zastosowałem metodę. (Przeklnij tego newoperatora!) Bardzo by mi się podobało, …
Czy istnieje sposób na przechwycenie listy określonego typu przy użyciu mockitos ArgumentCaptore. To nie działa: ArgumentCaptor<ArrayList<SomeType>> argument = ArgumentCaptor.forClass(ArrayList.class);
Czy istnieje sposób, aby metoda skrótowa zwracała różne obiekty przy kolejnych wywołaniach? Chciałbym to zrobić, aby przetestować nieokreślone odpowiedzi od ExecutorCompletionService. tj. w celu przetestowania, niezależnie od kolejności zwrotu metod, wynik pozostaje stały. Kod, który chcę przetestować, wygląda mniej więcej tak. // Create an completion service so we can group …
Chciałbym wstrzyknąć próbny obiekt Mockito do fasoli Spring (3+) na potrzeby testów jednostkowych z JUnit. Moje zależności fasoli są obecnie wstrzykiwane za pomocą @Autowiredadnotacji na prywatnych polach członkowskich. Zastanawiałem się nad użyciem, ReflectionTestUtils.setFieldale instancja komponentu bean, którą chcę wstrzyknąć, jest w rzeczywistości proxy i dlatego nie deklaruje pól prywatnych członków …
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.