2009-06-17 13 views
1

Ich erstelle eine Basisklasse (oder Basiseinheit), da alle meine Datenbanktabellen ein companyID Feld haben.Wie kann ich einen allgemeinen Komponententest für alle meine Klassen erstellen, die von einer Basisklasse erben?

In meinen Komponententests muss ich sicherstellen, dass der Wert companyID korrekt ist.

Wenn ich eine Liste von Objekten zurückgebe, sollten alle companyID s gleich sein.

Gibt es eine generische Art, einen Test zu schreiben, der alle Werte durchläuft, die ich für alle meine Objekte verwenden kann? (Sie werden alle von einer Basisklasse erben, die eine Eigenschaft companyID haben wird).

Antwort

1

Ja; Schreiben Sie eine Funktion, die alle Objekte in einer Liste durchläuft, die Objekte in die Basisklasse umwandelt, die Umwandlung erfolgreich war und testen Sie, ob die CompanyID gültig ist. Möglicherweise müssen Sie für jede Methode zum Abrufen der Objektliste verschiedene Komponententestklassen schreiben, aber sobald die Liste empfangen wurde, können Sie eine gemeinsame Funktion aus jedem dieser Tests aufrufen.

+0

Könnte ich Generika verwenden, um Mach das irgendwie? – Blankman

+0

@blankman: Sicher, Sie könnten eine Liste verwenden, um die Liste der Objekte zu übergeben ... –

1

eine Möglichkeit, eine Schnittstelle zu implementieren wäre, dass das CompanyID Feld hat, eine Liste dieser Schnittstelle dann zurück, auf diese Weise müssen Sie nicht darum kümmern, was der tatsächliche Typ ist

Verwandte Themen