So verspotten Sie bestimmte Methoden in einer Klasse mit Mockito
Beim Softwaretest können Sie durch Verspotten das Verhalten einer Abhängigkeit oder einer Abhängigkeit simulieren Klasse, die Sie nicht direkt instanziieren möchten. Mockito ist ein Java-Mocking-Framework, mit dem Sie Methoden verspotten und Interaktionen mit ihnen überprüfen können.
Insbesondere können Sie auf Szenarien stoßen, in denen Sie bestimmte Methoden einer Klasse verspotten möchten, während andere unberührt bleiben. Dieser Ansatz wird als partielle Verspottung bezeichnet. So können Sie dies mit Mockito erreichen:
// Mock the Stock class with partial mocking Stock stock = mock(Stock.class); // Mock specific methods when(stock.getPrice()).thenReturn(100.00); when(stock.getQuantity()).thenReturn(200); // Leave 'getValue()' unmocked // It will execute the actual Stock.getValue() calculation when(stock.getValue()).thenCallRealMethod();
Auf diese Weise werden nur die Methoden getPrice() und getQuantity() verspottet, während getValue() den Originalcode ausführt.
Zusätzlich können Sie das Argument CALLS_REAL_METHODS mit verwenden Mockito.mock():
Stock MOCK_STOCK = Mockito.mock(Stock.class, CALLS_REAL_METHODS);
Dadurch werden ungestubbte Aufrufe an echte Implementierungen delegiert.
Es ist jedoch wichtig zu beachten, dass in Ihrem Beispiel nur getPrice() und getQuantity() verspottet werden. wird nicht richtig funktionieren, da die getValue()-Implementierung von ihren tatsächlichen Rückgabewerten abhängt. Erwägen Sie stattdessen, Verspottungen ganz zu vermeiden:
// Without mocks Stock stock = new Stock(100.00, 200); double value = stock.getValue();
Das obige ist der detaillierte Inhalt vonWie kann man Methoden in einer Klasse mit Mockito teilweise verspotten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!