Ich habe eine öffentliche void-Methode "a", die getestet werden soll, und in "a" habe ich eine Schleife mit String als Iterator, in dieser Schleife habe ich die öffentliche void-Methode von B mit dem String-Iterator als Parameter, den ich möchte, aufgerufen Mock, ich möchte einen Komponententest schreiben, um "a" mit PowerMock zu testen, wie kann ich dieses Ziel erreichen?Wie man Methode von anderer Klasse in einer Schleife mit PowerMock vortäuscht?
0
A
Antwort
0
Haben Sie irgendwelche statische Methoden Referenzen in Methode "a", wenn nicht Mockito direkt verwenden, wird PowerMock grundsätzlich verwendet, statische Methoden stümpfen, private Variablen, Konstruktoren etc..Ich hoffe, Sie tun nicht Integrationstests Verwenden Sie also nur die Methode von Klasse B und verwenden Sie die Mockito.verify-Methode, um zu überprüfen, ob Ihre Methode tatsächlich aufgerufen wird oder nicht. Siehe meine Antwort unten.
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.junit.MockitoJUnitRunner;
@RunWith(MockitoJUnitRunner.class)
public class ClassATest {
@InjectMocks
ClassA classsA;
@Mock
ClassB classB;
@Test
public void testClassAMethod() {
//Assuming ClassA has one method which takes String array,
String[] inputStrings = {"A", "B", "C"};
//when you call classAMethod, it intern calls getClassMethod(String input)
classA.classAMethod(inputStrings);
//times(0) tells you method getClassBmethod(anyString()) been called zero times, in my example inputStrings length is three,
//it will be called thrice
//Mockito.verify(classB, times(0)).getClassBMethod(anyString());
Mockito.verify(classB, times(3)).getClassBMethod(anyString());
}
}
Verwandte Themen
- 1. Wie man Thread.sleep() mit PowerMock vortäuscht?
- 2. Wie man Endfeld vortäuscht? Mockito/PowerMock
- 3. Wie man statischen Kettenanruf mit easymock-powermock vortäuscht?
- 4. Wie man eine void private Methode vortäuscht, um abstrakte Ausnahme mit Powermock zu werfen?
- 5. Wie man statische Methode mit powermock verspotten?
- 6. Wie man statische Methode vortäuscht, die letzte Klasse zurückgibt?
- 7. Wie man nur die Methode innerhalb der Klasse vortäuscht
- 8. Wie man eine Methode mit funktionalen Argumenten in Scala vortäuscht?
- 9. Wie man eine normale Methode in einer statischen Klasse in C# vortäuscht?
- 10. Wie man eine Klasse wie diese in C# vortäuscht?
- 11. anderer Rückgabetyp von Methode in generischer Klasse
- 12. Wie man eine ungültige Methode mit PowerMockito vortäuscht?
- 13. python wie man eine Methode vortäuscht?
- 14. Wie man nur eine Methode vortäuscht?
- 15. Wie man eine einzelne Methode in Java vortäuscht
- 16. Wie man Vorlagen mit Google Mock vortäuscht?
- 17. Wie man eine Klasse vortäuscht, die innerhalb von verwendet wurde, sagen wir Login-Klasse?
- 18. Wie man eine Enum Singleton Klasse mit Mockito/Powermock spotten?
- 19. Wie Variablen in anderer Klasse von anderer Klasse zuzugreifen
- 20. Wie man eine Methode in einem Modul in Ruby vortäuscht?
- 21. Grails/Spock: Wie man einzelne Methode innerhalb der Klasse vortäuscht, in der Methode innerhalb der Klasse selbst aufgerufen wird?
- 22. Wie man Time.now vortäuscht?
- 23. Wie man ndb.get_context() vortäuscht.
- 24. Wie man eine Hilfsmethode für errbot vortäuscht
- 25. Wie man das zweite Objekt in der gleichen Methode vortäuscht?
- 26. Wie man Methoden mit funktionellen Schnittstellenparametern vortäuscht?
- 27. Wie man Erweiterungsmethoden mit Rhino Mock vortäuscht?
- 28. Call-Methode, wenn Verfahren in anderer Klasse
- 29. Wie man private Getters vortäuscht?
- 30. Wie man eine geschützte/private Methode in einer getesteten Methode vortäuscht?
Haben Sie statische Methoden refernces in Verfahren „a“, wenn nicht Mockito direkt verwenden, wird PowerMock bascially verwendet statische Methoden, Mock private Variablen, Konstrukteure Stub etc.and Ich hoffe, dass Sie nicht tun Testen Sie die Integration, testen Sie also nur die Methode von Klasse B und verwenden Sie die Mockito.doverify-Methode, um zu überprüfen, ob Ihre Methode tatsächlich aufgerufen wird oder nicht. –