Mockito ist ein spöttisches Framework für Java. Es ist von EasyMock inspiriert, zielt jedoch darauf ab, das Mock-Stubbing, die Verifizierung und das Werkzeug noch weiter zu vereinfachen.
Mockito - Ich verstehe, dass ein Spion die realen Methoden für ein Objekt aufruft, während ein Mock Methoden für das Doppelobjekt aufruft. Auch Spione sind zu vermeiden, es sei denn, es riecht nach Code. Wie funktionieren Spione und wann sollte ich sie tatsächlich benutzen? Wie unterscheiden sie sich von Mocks?
Ich benutze Mockito in einigen Tests. Ich habe folgende Klassen: class BaseService { public void save() {...} } public Childservice extends BaseService { public void save(){ //some code super.save(); } } Ich möchte nur den zweiten Aufruf ( super.save) von verspotten ChildService. Der erste Aufruf muss die reale Methode aufrufen. …
Wie kann ich eine Feldvariable verspotten, die inline initialisiert wird? class Test { private Person person = new Person(); ... public void testMethod() { person.someMethod(); ... } } Hier möchte ich verspotten, person.someMethod()während ich die Test.testMethod()Methode teste , für die ich die Initialisierung einer personVariablen verspotten muss . Irgendeine Ahnung? …
Fehlerdetail: org.mockito.exceptions.misusing.WrongTypeOfReturnValue: Boolean cannot be returned by updateItemAttributesByJuId() updateItemAttributesByJuId() should return ResultRich This exception might occur in wrongly written multi-threaded tests. Please refer to Mockito FAQ on limitations of concurrency testing. Mein Code: @InjectMocks protected ItemArrangeManager arrangeManagerSpy = spy(new ItemArrangeManagerImpl()); @Mock protected JuItemWriteService juItemWriteService; when(arrangeManagerSpy .updateItemAttributes(mapCaptor.capture(), eq(juId), eq(itemTO.getSellerId()))) .thenReturn(false); Wie …
Nach dem Start der Tests wird folgende Ausnahme angezeigt: 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: …
Ich habe kein Glück, dass Mockito Funktionsargumentwerte erfasst! Ich verspotte einen Suchmaschinenindex und anstatt einen Index zu erstellen, verwende ich nur einen Hash. // 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 …
Ich habe eine Klasse wie folgt: public class A { public A(String test) { bla bla bla } public String check() { bla bla bla } } Die Logik im Konstruktor A(String test)und check()sind die Dinge, die ich verspotten möchte. Ich möchte alle Aufrufe wie: new A($$$any string$$$).check()Gibt eine Dummy-Zeichenfolge …
Ich habe Methoden wie diese: public <T> method(String s, Class<T> t) {...} Dass ich überprüfen muss, ob dies nullan das zweite Argument übergeben wird, wenn Matcher für die anderen Parameter verwendet werden, habe ich folgendermaßen ausgeführt: @SuppressWarnings("unchecked") verify(client).method(eq("String"), any(Class.class)); Aber gibt es einen besseren Weg (ohne Warnungen zu unterdrücken)? Tstellt …
Hier ist Utils.java meine zu testende Klasse und die folgende Methode wird in der UtilsTest-Klasse aufgerufen. Auch wenn ich mich über die unten gezeigte Log.e-Methode lustig mache @Before public void setUp() { when(Log.e(any(String.class),any(String.class))).thenReturn(any(Integer.class)); utils = spy(new Utils()); } Ich erhalte die folgende Ausnahme java.lang.RuntimeException: Method e in android.util.Log not mocked. …
Ich versuche durch die Mauer zwischen mir und Mockito zu krachen. Ich habe mir die Haare ausgerissen, weil ich versucht habe, korrekte statische Importanweisungen für Mockito-Sachen zu erhalten. Sie würden denken, jemand würde einfach eine Tabelle hochwerfen und sagen, dass anyInt () von org.mockito.Matchers stammt und when () von org.mockito.Mockito …
Das Problem, mit dem ich konfrontiert bin, ist die Matchers.anyObject()Rückkehr null. Wenn eine Methode verspottet wird, die nur nicht nullfähige Typen akzeptiert, wird die Ausnahme "Sollte nicht null sein" ausgelöst. `when`(mockedBackend.login(anyObject())).thenAnswer { invocationOnMock -> someResponse } Verspottete Methode: public open fun login(userCredentials: UserCredentials): Response
Ich habe erst heute angefangen, etwas über Mockito zu lernen. Ich habe einen einfachen Test geschrieben (mit JUnit, siehe unten), aber ich kann nicht herausfinden, wie ich Scheinobjekte in Spring's verwalteten Beans verwenden kann. Was sind Best Practices für die Arbeit mit Spring ? Wie soll ich meiner Bohne eine …
protected int parseExpire(CacheContext ctx) throws AttributeDefineException { Method targetMethod = ctx.getTargetMethod(); CacheEnable cacheEnable = targetMethod.getAnnotation(CacheEnable.class); ExpireExpr cacheExpire = targetMethod.getAnnotation(ExpireExpr.class); // check for duplicate setting if (cacheEnable.expire() != CacheAttribute.DO_NOT_EXPIRE && cacheExpire != null) { throw new AttributeDefineException("expire are defined both in @CacheEnable and @ExpireExpr"); } // expire time defined in @CacheEnable …
Also fing ich an, Tests für unser Java-Spring-Projekt zu schreiben. Was ich benutze, ist JUnit und Mockito. Es heißt, wenn ich die Option when () ... thenReturn () verwende, kann ich Dienste verspotten, ohne sie oder so zu simulieren. Ich möchte also Folgendes festlegen: when(classIwantToTest.object.get().methodWhichReturnsAList(input))thenReturn(ListcreatedInsideTheTestClass) Aber egal welche when-Klausel ich …
Ich versuche diesen Test auszuführen: @Mock IRoutingObjHttpClient routingClientMock; @Mock IRoutingResponseRepository routingResponseRepositoryMock; @Test public void testSendRoutingRequest() throws Exception { CompleteRoutingResponse completeRoutingResponse = new CompleteRoutingResponse(); completeRoutingResponse.regression_latencyMillis = 500L; Mockito.when(routingClientMock.sendRoutingRequest(any(RoutingRequest.class))).thenReturn(completeRoutingResponse); RoutingObjHttpClientWithReRun routingObjHttpClientWithReRun = new RoutingObjHttpClientWithReRun (routingClientMock, routingResponseRepositoryMock); ... } aber ich bekomme NullPointerException für: Mockito.when(routingClientMock. Was vermisse ich?
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.