Als «assertions» getaggte Fragen

Mit Assertions können Sie Ihre Annahmen zu Ihrem Programm testen. Wenn Sie beispielsweise eine Methode schreiben, mit der die Geschwindigkeit eines Partikels berechnet wird, können Sie behaupten, dass die berechnete Geschwindigkeit geringer ist als die Lichtgeschwindigkeit.

3
Sind Asserts oder Unit-Tests wichtiger?
Sowohl Asserts als auch Unit-Tests dienen als Dokumentation für eine Codebasis und als Mittel zum Auffinden von Fehlern. Die Hauptunterschiede bestehen darin, dass Asserts als Plausibilitätsprüfungen fungieren und reale Eingaben erkennen, wohingegen Komponententests für bestimmte simulierte Eingaben ausgeführt werden und Tests mit einer einzigen genau definierten "richtigen Antwort" sind. Was …

4
Assertions verwenden und Exceptions auslösen?
Wenn ich eine Funktion schreibe, möchte ich oft sicherstellen, dass die Eingaben gültig sind, um solche Fehler so früh wie möglich zu erkennen (ich glaube, dies nennt man Vorbedingungen). Wenn eine Vorbedingung fehlschlägt, habe ich immer eine Ausnahme ausgelöst. Aber ich fange an zu bezweifeln, ob dies die beste Vorgehensweise …

9
Kann man zu viele Aussagen schreiben?
Ich bin ein großer Fan des Schreibens von assertPrüfungen in C ++ - Code, um Fälle während der Entwicklung abzufangen, die möglicherweise nicht auftreten können, aber aufgrund von Logikfehlern in meinem Programm auftreten. Dies ist im Allgemeinen eine gute Praxis. Ich habe jedoch festgestellt, dass einige von mir geschriebene Funktionen …


8
Sollte es Aussagen in Release-Builds geben?
Das Standardverhalten assertin C ++ besteht darin, in Release-Builds nichts zu tun. Ich gehe davon aus, dass dies aus Gründen der Leistung und möglicherweise um zu verhindern, dass Benutzer unangenehme Fehlermeldungen sehen. Ich würde jedoch argumentieren, dass die Situationen, in denen eine assertausgelöst hätte, aber deaktiviert war, noch problematischer sind, …

9
Riechen zu viele Behauptungen nach Code?
Ich habe mich wirklich in Unit-Tests und TDD verliebt - ich bin testinfiziert. Unit-Tests werden jedoch normalerweise für öffentliche Methoden verwendet. Manchmal muss ich allerdings einige Annahmen-Behauptungen auch in privaten Methoden testen, da einige von ihnen "gefährlich" sind und Refactoring nicht weiterhelfen kann. (Ich weiß, dass das Testen von Frameworks …

1
Unit-Tests: Zurückgestellte Behauptungen mit Linq
Ist es in Ordnung, verzögerte Aussagen wie diese hinzuzufügen? var actualKittens = actualKittens.Select(kitten => { Assert.IsСute(kitten); return kitten }); Warum? So kann ich auch mit Aussagen, die eine materialisierte Sammlung erwarten, nur einmal iterieren, zum Beispiel: CollectionAssert.AreEquivalent(expectedKittens, actualKittens.ToList()); Es könnte sich auch nicht nur um Select handeln, sondern auch um …

5
Wie kann ich meine Fehlerprüfung und -behandlung verbessern?
In letzter Zeit hatte ich Mühe zu verstehen, wie viele Überprüfungen richtig sind und welche Methoden richtig sind. Ich habe ein paar Fragen dazu: Was ist der richtige Weg, um nach Fehlern zu suchen (fehlerhafte Eingaben, fehlerhafte Zustände usw.)? Ist es besser, explizit nach Fehlern zu suchen oder Funktionen wie …
13 c  testing  assertions 

3
Python - behaupten vs if & return
Ich schreibe ein Skript, das etwas mit einer Textdatei macht (was es tut, ist für meine Frage jedoch irrelevant). Bevor ich also etwas mit der Datei anfange, möchte ich überprüfen, ob die Datei existiert. Ich kann das, kein Problem, aber das Problem ist mehr das der Ästhetik. Hier ist mein …

1
Ententypisierung, Datenvalidierung und durchsetzungsfähige Programmierung in Python
Über das Tippen von Enten : Die Typisierung von Enten wird dadurch unterstützt, dass gewohnheitsmäßig nicht auf die Art der Argumente in Methoden- und Funktionskörpern geprüft wird. Dabei wird auf Dokumentation, klaren Code und Tests zurückgegriffen, um die korrekte Verwendung sicherzustellen. Informationen zur Argumentvalidierung (EAFP: Es ist einfacher, um Vergebung …

2
Code Verträge / Behauptungen: Was ist mit doppelten Schecks?
Ich bin ein großer Fan von Zusicherungen, Verträgen oder anderen Arten von Schecks, die in der von mir verwendeten Sprache verfügbar sind. Eine Sache, die mich ein bisschen stört, ist, dass ich nicht sicher bin, wie es üblich ist, mit doppelten Prüfungen umzugehen. Beispielsituation: Ich schreibe zuerst die folgende Funktion …
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.