2016-09-22 3 views
1

Ich habe ein Unit-Test-Projekt über eine ältere Version einer Klasse erstellt. Nehmen wir an, ich arbeite an einer neuen Version, die der Klasse ein Feld wie folgt hinzufügt.Neue Version einer Klasse hat ein neues Feld; Wie gehe ich mit Unit Testing der Klasse um?

public class Customer 
{ 
    public string FirstName { get;set; } 
} 


public class Customer2 
{ 
    public string FirstName { get;set; } 
    public string LastName { get;set; } 
} 

In meinem Komponententest, ich nur eine neue Customer2-Klasse mit dem neuen Feld erstellen und testen Sie gegen diese Klasse?

+1

Objekte Dies ist ein geeigneter Fall Polymorphismus zu verwenden. –

+0

Zeigen Sie, was Ihr _current_ Komponententest tut - ich schätze, Sie wollen einen _new_ Komponententest, anstatt den _existing_test zu aktualisieren. –

+0

Warum fügen Sie LastName nicht dem Kunden hinzu? scheint ein großer Fehler beim Erstellen von Customer2 –

Antwort

1

Unit-Tests existieren, um Logik-Klassen zu testen. Sie sollten also keinen Komponententest erstellen, nur weil Sie einer Klasse eine Eigenschaft hinzufügen. Wenn Sie der Klasse gerade ein neues Feld hinzugefügt haben, werden Ihre vorhandenen Komponententests davon betroffen sein, und wenn etwas bricht, werden Sie sehen, dass sich das auf das Ergebnis des Komponententests auswirkt. Wenn Sie wegen des neuen Feldes neue Dienste/Komponenten/Methoden/etc erstellen mussten, sollten Sie in diesem Fall Komponententests für diese neuen Dinge erstellen, um zu beweisen, dass Ihre Logik gut implementiert ist.

bearbeiten

Fall Sie Eigenschaften mit Logik innerhalb Getter und Setter erstellen, sollten Sie diese testen, sonst gibt es keine Notwendigkeit Tests zu schaffen für POCO

Verwandte Themen