Ich bin neu im Komponententest und habe mehrmals gelesen, dass wir zuerst den Komponententest und dann den eigentlichen Code schreiben sollten. Ab sofort schreibe ich meine Methoden und teste dann den Code.Wie schreibe ich Unit Test zuerst und Code später?
Wenn Sie die Tests zuerst schreiben ...
Sie neigen dazu, den Code zu schreiben, um die Tests zu passen. Dies ermutigt die "einfachste Sache, die das Problem löst" Typ Entwicklung und hält Sie konzentrierte sich auf die Lösung des Problems nicht auf Meta-Probleme arbeiten.
Wenn Sie den Code zuerst schreiben ...
Sie werden die Tests zu schreiben versucht sein, den Code zu passen. In der Tat das ist das Äquivalent des Schreibens des Problems, um Ihre Antwort zu passen, die Art von rückwärts ist und wird oft zu Tests führen, die von geringeren Wert sind.
Hört sich gut an. Wie schreibe ich Komponententests, bevor ich meinen Code installiert habe? Nehme ich den Rat wörtlich? Bedeutet das, dass ich meine POCO-Klassen und -Schnittstellen an Ort und Stelle haben und Unit-Test schreiben soll?
Kann mir jemand erklären, wie dies mit einem einfachen Beispiel für das Hinzufügen von zwei Zahlen getan wird?
Das Schreiben von Tests zwingt Sie dazu, darüber nachzudenken, was eine Klasse/Methode/Algorithmus tun soll * bevor * Sie es tatsächlich implementieren. Es ist so, als würde ich sagen: "Das * ist, was ich will! Ich werde mir Sorgen um das * wie * später machen." – Corak
[Hier ist die Antwort, die zeigt, wie Sie beim TDD denken sollten] (http://stackoverflow.com/questions/15367568/c-sharp-how-to-properly-unit-test-a-class-that-follows- a-decorator-pattern/15368534 # 15368534) –
Eine Sache zu bedenken ist, dass TDD gut ist, wenn Sie bereits ein Design haben, für das Sie an bestimmten Komponenten arbeiten. Dies kommt normalerweise nach dem Prototyp. Wenn Sie Prototyping oder RAD machen, wird TDD in die Quere kommen. –