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 mogę mockować zmienną pola, która jest inicjowana w tekście? class Test { private Person person = new Person(); ... public void testMethod() { person.someMethod(); ... } } Tutaj chcę mockować person.someMethod()podczas testowania Test.testMethod()metody, dla której muszę mockować inicjalizację personzmiennej. Jakaś wskazówka? Edycja: nie mogę modyfikować klasy osoby.
Po rozpoczęciu testów pojawia się następujący wyjątek: Testcase: treeCtorArgumentTest(com.xythos.client.drive.cachedtree.CachedTreeTest): Caused an ERROR Could not initialize plugin: interface org.mockito.plugins.MockMaker java.lang.IllegalStateException: Could not initialize plugin: interface org.mockito.plugins.MockMaker at org.mockito.internal.configuration.plugins.PluginLoader$1.invoke(PluginLoader.java:66) at com.sun.proxy.$Proxy7.isTypeMockable(Unknown Source) at org.mockito.internal.util.MockUtil.typeMockabilityOf(MockUtil.java:29) at org.mockito.internal.util.MockCreationValidator.validateType(MockCreationValidator.java:22) at org.mockito.internal.creation.MockSettingsImpl.validatedSettings(MockSettingsImpl.java:168) at org.mockito.internal.creation.MockSettingsImpl.confirm(MockSettingsImpl.java:162) at org.mockito.internal.MockitoCore.mock(MockitoCore.java:64) at org.mockito.Mockito.mock(Mockito.java:1687) at org.mockito.Mockito.mock(Mockito.java:1600) at com.xythos.client.drive.cachedtree.CachedTreeTest.setUp(CachedTreeTest.java:51) Caused by: java.lang.NoClassDefFoundError: net/bytebuddy/dynamic/loading/ClassLoadingStrategy …
Chcę wyszydzić statyczną metodę m1 z klasy, która zawiera 2 statyczne metody m1 i m2. Chcę, aby metoda m1 zwracała obiekt. Wypróbowałem następujące 1) PowerMockito.mockStatic(Static.class, new Answer<Long>() { @Override public Long answer(InvocationOnMock invocation) throws Throwable { return 1000l; } }); To wywołuje zarówno m1, jak i m2, które mają inny …
Używam Mockito w niektórych testach. Mam następujące zajęcia: class BaseService { public void save() {...} } public Childservice extends BaseService { public void save(){ //some code super.save(); } } Chcę kpić tylko z drugiego wywołania ( super.save) z ChildService. Pierwsze wywołanie musi wywołać prawdziwą metodę. Czy jest na to sposób?
Mam klasę jak poniżej: public class A { public A(String test) { bla bla bla } public String check() { bla bla bla } } Logika w konstruktorze A(String test)i check()rzeczy, które próbuję kpić. Chcę wywołania typu: new A($$$any string$$$).check()zwraca fikcyjny ciąg "test". Próbowałem: A a = mock(A.class); when(a.check()).thenReturn("test"); String …
Nie mam szczęścia, aby Mockito przechwytywał wartości argumentów funkcji! Kpię z indeksu wyszukiwarki i zamiast budować indeks, używam tylko skrótu. // Fake index for solr Hashmap<Integer,Document> fakeIndex; // Add a document 666 to the fakeIndex SolrIndexReader reader = Mockito.mock(SolrIndexReader.class); // Give the reader access to the fake index Mockito.when(reader.document(666)).thenReturn(document(fakeIndex(666)) Nie …
Mam takie metody: public <T> method(String s, Class<T> t) {...} Że muszę sprawdzić, czy nulljest przekazywany do drugiego argumentu, gdy używam dopasowań dla innych parametrów, robiłem to: @SuppressWarnings("unchecked") verify(client).method(eq("String"), any(Class.class)); Ale czy jest lepszy sposób (bez wyłączania ostrzeżeń)? Treprezentuje typ zwracany przez inną metodę, która jest czasami voidiw takich przypadkach …
Tutaj Utils.java jest moją klasą do przetestowania, a następującą metodą jest wywoływana w klasie UtilsTest. Nawet jeśli kpię z metody Log.e, jak pokazano poniżej @Before public void setUp() { when(Log.e(any(String.class),any(String.class))).thenReturn(any(Integer.class)); utils = spy(new Utils()); } Otrzymuję następujący wyjątek java.lang.RuntimeException: Method e in android.util.Log not mocked. See http://g.co/androidstudio/not-mocked for details. at …
Napisałem kilka testów jednostkowych dla metody statycznej. Metoda statyczna przyjmuje tylko jeden argument. Typ argumentu jest klasą końcową. Pod względem kodu: public class Utility { public static Optional<String> getName(Customer customer) { // method's body. } } public final class Customer { // class definition } Tak dla Utilityklasy I stworzyliśmy …
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.