Als «unit-testing» getaggte Fragen

Unit Testing ist eine Methode, mit der einzelne Einheiten des Quellcodes getestet werden, um festzustellen, ob sie für die Verwendung geeignet sind.

2
Separate Code-Coverage-Berichte für Unit- und Integrationstests oder ein Bericht für beide?
Sollte es einen separaten Code-Coverage-Bericht für Unit- und Integrationstests oder einen Code-Coverage-Bericht für beide geben? Der Gedanke dahinter ist, dass wir durch die Codeabdeckung sicherstellen können, dass unser Code so weit wie möglich durch Tests abgedeckt wurde (so viel wie eine Maschine jetzt sowieso kann). Ein separater Bericht ist für …

1
Verwendet die Spielebranche automatisierte Tests für visuelle Teile von Spielen / Rendering? Wie?
Einige Teile eines Spiels lassen sich leicht automatisiert testen (Logik, Mathematik, Eingabeverarbeitung). Aber es gibt auch eine Menge, die rein visuell und nicht leicht zu testen ist. Ich wäre überrascht, wenn die Spielebranche all dies manuellen Tests überlassen würde. Es steckt genug Geld darin, dass ich vermuten würde, dass Anstrengungen …

2
Unit Testing Nebeneffekt-schwerer Code
Ich fange an, C ++ - Code zu schreiben, um einen Roboter auszuführen, und ich weiß nicht, wie ich Unit-Tests integrieren soll, wenn ich das kann. Ich habe eine Bibliothek erhalten, mit der "Befehle" für den Roboter erstellt werden können, die automatisch geplant und ausgeführt werden. Der Mechanismus dieser Befehle …

1
Wie viel Spott ist "genau richtig"?
Ich habe die Frage scherzhaft betitelt, weil ich sicher bin, dass "es darauf ankommt", aber ich habe einige spezifische Fragen. Mein Team arbeitet mit Software, die viele tiefe Abhängigkeitsebenen aufweist, und hat sich daran gewöhnt, das Verspotten ziemlich ausführlich zu verwenden, um jedes Codemodul von den darunter liegenden Abhängigkeiten zu …

3
Was würde helfen, wenn eine große Methode überarbeitet wird, um sicherzustellen, dass ich nichts kaputt mache?
Ich überarbeite derzeit einen Teil einer großen Codebasis ohne Unit-Tests. Ich habe versucht, Code auf brutale Weise umzugestalten, dh indem ich versucht habe zu erraten, was der Code tut und welche Änderungen seine Bedeutung nicht ändern würden, aber ohne Erfolg: Es werden zufällig Funktionen rund um die Codebasis unterbrochen. Beachten …

4
Warum sollte ich in Unit Testing zweimal ein Repository erstellen?
Neulich habe ich ein wenig über Unit Testing gelesen und einige Beispiele gesehen, in denen Leute eine Repository-Schnittstelle (dh IExampleRepository) erstellen und dann das echte Repository ( public class ExampleRepository : IExampleRepository) und ein Repository für Unit-Tests ( FakeExampleRepository : IExampleRepository) erstellen . In der IExampleRepositoryimplementierten sie die gleichen Methoden …


2
Wie würden Tippfehler beim Erstellen von Mocks in einer dynamischen Sprache erkannt?
Das Problem tritt beim TDD auf. Nach einigen Testdurchläufen ändern sich die Rückgabetypen einiger Klassen / Module. Wenn in einer statisch typisierten Programmiersprache ein zuvor verspottetes Objekt in den Tests einer anderen Klasse verwendet wurde und nicht geändert wurde, um die Typänderung widerzuspiegeln, treten Kompilierungsfehler auf. Bei dynamischen Sprachen wird …

5
Ist es in diesem Fall töricht, sich an eine Behauptung pro Test zu halten?
Ich habe eine Klasse, die ich teste. Die Klasse hat eine Funktion:apply(List<IRule> rules, List<ITarget> targets); In einem Test möchte ich sicherstellen, dass jedes Ziel an eine Regel übergeben wurde, a la: rule1.AssertWasCalled(fnord => fnord.Test(target1)); rule1.AssertWasCalled(fnord => fnord.Test(target2)); rule1.AssertWasCalled(fnord => fnord.Test(target3)); Es scheint mir, dass es ein Hobgoblin wäre, mich auf …

5
Wie teste ich eine Funktion, die auf das Strategiemuster umgestaltet wurde?
Wenn ich eine Funktion in meinem Code habe, die wie folgt aussieht: class Employee{ public string calculateTax(string name, int salary) { switch (name) { case "Chris": doSomething($salary); case "David": doSomethingDifferent($salary); case "Scott": doOtherThing($salary); } } Normalerweise würde ich dies umgestalten, um Ploymorphism unter Verwendung einer Fabrikklasse und eines Strategiemusters zu …

3
Welche Relevanz hat Unit Testing in einer Umgebung, in der häufig vorzeitige Versionen veröffentlicht werden?
In den letzten rund einem Jahr habe ich mein Team auf den Entwicklungsmodus "Release-Early-Release-Oft" (AKA: Rapid Application Development, nicht Agile) umgestellt. Weitere Informationen zum Schließen des Builds finden Sie in meiner Antwort hier: Eine einfache Möglichkeit, die Release-Qualität in der RAD-Umgebung zu verbessern Als wir RAD einführten, waren die Leute …
10 unit-testing  rad 

9
Soll ich ein Objekt an einen Konstruktor übergeben oder in der Klasse instanziieren?
Betrachten Sie diese beiden Beispiele: Übergeben eines Objekts an einen Konstruktor class ExampleA { private $config; public function __construct($config) { $this->config = $config; } } $config = new Config; $exampleA = new ExampleA($config); Eine Klasse instanziieren class ExampleB { private $config; public function __construct() { $this->config = new Config; } …

3
Benötigen wir Testdaten oder können wir uns auf Unit-Tests und manuelle Tests verlassen?
Wir arbeiten derzeit an einem mittleren / großen PHP / MySQL-Projekt. Wir führen Unit-Tests mit PHPUnit & QUnit durch und haben zwei Vollzeit-Tester, die die Anwendung manuell testen. Unsere Testdaten (Mock-Daten) werden derzeit mit SQL-Skripten erstellt. Wir haben Probleme mit der Verwaltung von Skripten für Testdaten. Die Geschäftslogik ist ziemlich …

3
Unit-Test-Methoden, die Lieferanten-Webservices aufrufen
Ich habe eine Klasse mit einer öffentlichen Methode Send()und einigen privaten Methoden. Es ruft einige Webservices auf und verarbeitet die Antwort. Die Verarbeitung erfolgt in privaten Methoden. Ich möchte den Code Unit-testen. Mein Verständnis ist, dass Unit-Tests meinen Code isoliert testen sollten (dh Lieferantenantworten nachahmen). Ich glaube auch, dass private …

3
Bringen Sie den Ball auf TDD ins Rollen
Ich bin Teil eines Entwicklerteams, das mit vielen anderen Teams zusammenarbeitet, um eine Anwendung zu warten und zu verbessern, die seit mindestens 15 Jahren verwendet wird. Als es zum ersten Mal gebaut und entworfen wurde, war TDD unbekannt. Die Anwendung ist ziemlich stabil, und wir stoßen selten auf einen Fehler …
10 unit-testing  tdd 

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.