Ich habe viel über TDD gelesen, aber ich habe immer noch Zweifel. Zum Beispiel habe ich diese Klassendiagramme: Es ist ein einfaches Beispiel, um TDD und Scheinobjekte kennenzulernen. Welchen Test soll ich zuerst schreiben? Produkt , dann Linie und zuletzt Bestellung ? Wenn ich das tue, sollte ich Line and …
Ist Unit Testing zu 100% oder überhaupt nicht? Ich habe meine alten Projekte durchgesehen und angefangen, Funktionen hinzuzufügen, diesmal mit Unit-Tests. Ist dies jedoch letztendlich wertlos, wenn ich frühere Komponenten wiederverwenden möchte, für die es keine Komponententests gibt? Muss ich Komponententests für alle vorherigen Klassen schreiben und mich überhaupt nicht …
Inwieweit testen Sie interne / private Komponenten einer Klasse / eines Moduls / Pakets / usw.? Testen Sie sie überhaupt oder testen Sie nur die Schnittstelle zur Außenwelt? Ein Beispiel für diese internen Methoden sind private Methoden. Stellen Sie sich als Beispiel einen rekursiven Descent-Parser vor , der mehrere interne …
Wenn ich eine switch-Anweisung verwende, um Werte aus einer Aufzählung (die meiner Klasse gehört) zu verarbeiten, und für jeden möglichen Wert eine Groß- / Kleinschreibung habe, lohnt es sich, Code hinzuzufügen, um den "Standard" -Fall zu behandeln? enum MyEnum { MyFoo, MyBar, MyBat } MyEnum myEnum = GetMyEnum(); switch (myEnum) …
Ich versuche also, meine Unit-Tests so buchstäblich wie möglich zu gestalten, aber es wird problematisch, wenn ich einige einfache Methoden zum Hinzufügen / Löschen teste. Für die Methode add muss ich grundsätzlich ein Dummy-Objekt erstellen und hinzufügen. Nach erfolgreichem Test muss ich das Dummy-Objekt löschen. Und für den Löschtest muss …
Wenn ich eine Web-App erstelle, teste ich meine Arbeit im Browser, um festzustellen, ob ich Fehler erhalte, und behebe sie. Ich habe komplexe Anwendungen erstellt und das Testen auf diese Weise war einfach und schnell. Ich habe auf youtube viele Videos über phpunit gesehen und kann keinen Zweck dafür finden. …
Ich arbeite in der Bildverarbeitung (hauptsächlich OCR) und frage mich, wie ich Unit-Tests in meine Entwicklung integrieren soll. Ich benutze bereits Komponententests für "häufigere" Codearten, aber wenn ich mit Bildverarbeitungscode arbeite, bin ich mir nicht sicher, wie ich damit umgehen soll. Diese Art von Code benötigt immer eine Eingabe / …
Das Strategy-Muster eignet sich gut, um große if ... else-Konstrukte zu vermeiden und das Hinzufügen oder Ersetzen von Funktionen zu vereinfachen. Dennoch bleibt meiner Meinung nach ein Fehler. Es scheint, dass es in jeder Implementierung noch ein Verzweigungskonstrukt geben muss. Es kann sich um eine Fabrik oder eine Datendatei handeln. …
In seinem Vortrag TDD, in dem alles schief gelaufen ist , drängt Ian Cooper Kent Becks ursprüngliche Absicht hinter Unit-Tests in TDD (um Verhaltensweisen zu testen, nicht Methoden für Klassen) und argumentiert, die Tests nicht an die Implementierung zu koppeln. save X to some data sourceWie können wir bei einem …
Hier ist ein Beispiel: Meine Webanwendung enthält ziehbare Elemente. Beim Ziehen eines Elements erzeugt der Browser ein "Geisterbild". Ich möchte das "Geisterbild" beim Ziehen entfernen und schreibe einen Test für dieses Verhalten. Mein Problem ist, dass ich zunächst keine Ahnung habe, wie ich diesen Fehler beheben kann. Ich kann einen …
Um einen Fehler in einer Anwendung zu beheben, änderte ich eine benannte Methode, postLoginindem ich einer vorhandenen Methode namens einen Aufruf hinzufügte getShoppingCart. Code protected void postLogin() { getShoppingCart(); } Ich bin mir jedoch nicht sicher, wie ich einen Unit-Test am besten schreiben kann postLogin. Ansatz 1 Verwenden Sie verify …
Ich habe eine Reihe von Klassen, die sich mit der Validierung von Werten befassen. Beispielsweise RangeValidatorprüft eine Klasse, ob ein Wert innerhalb des angegebenen Bereichs liegt. Jede Validator-Klasse enthält zwei Methoden: eine is_valid(value), die einen bestimmten Wert zurückgibt Trueoder von diesem Falseabhängig ist und ensure_valid(value)die nach einem bestimmten Wert sucht …
Daher wird auf meinem gesamten System der folgende Code verwendet. Wir schreiben derzeit nachträglich Unit-Tests (besser spät als nie zuvor), aber ich sehe nicht ein, wie dies testbar wäre? public function validate($value, Constraint $constraint) { $searchEntity = EmailAlertToSearchAdapter::adapt($value); $queryBuilder = SearcherFactory::getSearchDirector($searchEntity->getKeywords()); $adapter = new SearchEntityToQueryAdapter($queryBuilder, $searchEntity); $query = $adapter->setupBuilder()->build(); $totalCount …
In TDD gibt es die Arrange Act Assert (AAA) -Syntax: [Test] public void Test_ReturnItemForRefund_ReturnsStockOfBlackSweatersAsTwo_WhenOneInStockAndOneIsReturned() { //Arrange ShopStock shopStock = new ShopStock(); Item blackSweater = new Item("ID: 25"); shopStock.AddStock(blackSweater); int expectedResult = 2; Item blackSweaterToReturn = new Item("ID: 25"); //Act shopStock.ReturnItemForRefund(blackSweaterToReturn); int actualResult = shopStock.GetStock("ID: 25"); //Assert Assert.AreEqual(expectedResult, actualResult); } Bei …
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.