Als «mocking» getaggte Fragen

Durch Verspotten und Fälschen können Code oder Komponenten isoliert werden, um sicherzustellen, dass Komponententests nur für die testbare Codeeinheit ausgeführt werden, ohne dass andere Komponenten oder Abhängigkeiten einer Anwendung tatsächlich verwendet werden. Das Verspotten unterscheidet sich vom Fälschen darin, dass ein Schein überprüft werden kann, um die Ergebnisse eines Tests zu bestätigen.




8
Wie genau sollten Komponententests geschrieben werden, ohne sich ausgiebig zu lustig zu machen?
Soweit ich weiß, besteht der Sinn von Unit-Tests darin, Code-Units isoliert zu testen . Das bedeutet, dass: Sie sollten nicht durch eine unabhängige Codeänderung an einer anderen Stelle in der Codebasis unterbrochen werden. Im Gegensatz zu Integrationstests (die in Haufen brechen können) sollte nur ein Unit-Test durch einen Fehler in …

3
Ist dies eine angemessene Anwendung der Reset-Methode von Mockito?
Ich habe eine private Methode in meiner Testklasse, die ein häufig verwendetes BarObjekt erstellt. Der BarKonstruktor ruft die someMethod()Methode in meinem verspotteten Objekt auf: private @Mock Foo mockedObject; // My mocked object ... private Bar getBar() { Bar result = new Bar(mockedObject); // this calls mockedObject.someMethod() } In einigen meiner …
68 java  mocking 


2
Verwenden Integrationstests Mocks?
Ich bin derzeit in einer Klasse für Softwaretests, in der wir für unser Semesterprojekt mehrere Testarten durchführen müssen, wie z. B. Komponententests und Integrationstests. Für den Integrationstest verwendete der Professor angeblich Mocks und Spottbibliotheken (wie EasyMock und Mockito) für unseren Integrationstest. Ich bin allerdings ziemlich verwirrt. Integrationstests sind Tests außerhalb …

3
Ist es in Ordnung, einen Teil der getesteten Klasse vorzutäuschen?
Angenommen, ich habe eine Klasse (vergib das erfundene Beispiel und das schlechte Design davon): class MyProfit { public decimal GetNewYorkRevenue(); public decimal GetNewYorkExpenses(); public decimal GetNewYorkProfit(); public decimal GetMiamiRevenue(); public decimal GetMiamiExpenses(); public decimal GetMiamiProfit(); public bool BothCitiesProfitable(); } (Beachten Sie, dass die Methoden GetxxxRevenue () und GetxxxExpenses () Abhängigkeiten …

3
Spröde Unit-Tests aufgrund übermäßiger Verspottung
Ich habe Probleme mit unseren Unit-Tests, die wir in meinem Team implementieren. Wir versuchen, Komponententests in Legacy-Code einzufügen, der nicht gut entworfen wurde, und obwohl wir keine Schwierigkeiten mit der tatsächlichen Hinzufügung der Tests hatten, beginnen wir damit zu kämpfen, wie sich die Tests entwickeln. Als Beispiel für das Problem …

6
Bin ich aus TDD-Sicht eine schlechte Person, wenn ich einen Test mit einem Live-Endpunkt anstelle eines Schein-Endpunkts durchführe?
Ich folge TDD religiös. Meine Projekte haben in der Regel eine Testabdeckung von mindestens 85% mit aussagekräftigen Testfällen. Ich arbeite viel mit HBase , und die Haupt-Client-Oberfläche, HTable, ist ein echtes Problem. Das Schreiben meiner Komponententests dauert drei- oder viermal länger als das Schreiben von Tests, die einen Live-Endpunkt verwenden. …



3
Das Verspotten führt die Handhabung im Produktionscode ein
Angenommen, eine IReader-Schnittstelle, eine Implementierung der IReader-Schnittstelle ReaderImplementation und eine Klasse ReaderConsumer, die Daten vom Reader verwendet und verarbeitet. public interface IReader { object Read() } Implementierung public class ReaderImplementation { ... public object Read() { ... } } Verbraucher: public class ReaderConsumer() { public string location // constructor public …

7
So vermeiden Sie den Unit-Test privater Methoden
Ich weiß, dass Sie keine privaten Methoden testen sollen, und wenn es so aussieht, als müsste es eine Klasse geben, die darauf wartet, herauszukommen. Aber ich möchte keine Unmengen von Klassen haben, nur damit ich ihre öffentlichen Schnittstellen testen kann, und ich finde, dass ich für viele Klassen, wenn ich …

1
Unit-Test eines API-Clients und von Wrappern
Ich habe mich im Kreis gedreht, um herauszufinden, wie ich eine API-Clientbibliothek, die ich entwickle, am besten einem Komponententest unterziehen kann. Die Bibliothek verfügt über eine ClientKlasse, die im Grunde genommen eine 1: 1-Zuordnung zur API hat, und eine zusätzliche WrapperKlasse, die eine benutzerfreundlichere Oberfläche bietet Client. Wrapper --> Client …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.