Codieren eines datengesteuerten Komponententests
Aktualisiert: November 2007
Ein Komponententest ist datengesteuert, wenn er die für einen datengesteuerten Komponententest erforderlichen Attribute besitzt. Sie können diese Attribute und ihre Werte entweder über das Eigenschaftenfenster zuweisen oder indem Sie die Attribute direkt in den Testcode eingeben.
Weitere Informationen zum Konfigurieren eines Komponententests als datengesteuert durch Ändern seiner Eigenschaften finden Sie unter Gewusst wie: Konfigurieren eines datengesteuerten Komponententests.
In diesem Thema wird beschrieben, wie ein Komponententest mithilfe des DataSource-Attributs und der TestContext-Klasse als datengesteuert codiert wird.
Verwenden von Daten aus einer Datenquelle
Wenn ein datengesteuerter Komponententest ausgeführt wird, werden Daten aus den Zeilen einer Datenquelle abgerufen. Diese Daten stehen dem ausgeführten Komponententest über die DataRow- und DataConnection-Eigenschaften der TestContext-Klasse zur Verfügung.
Im folgenden Beispiel ist DataRow() vom Typ DataRow, und LastName ist der Name einer gültigen Spalte in der Zeile, die der aktuellen Iteration des datengesteuerten Tests zugeordnet ist.
TestContext.DataRow["LastName"]
LastName verweist auf den Namen einer Spalte. Sie können jedoch auch auf die Spaltennummer einer Spalte verweisen.
In jeder Zeile der Tabelle kann auf eine beliebige Anzahl von Spalten zugegriffen werden. Sie können beispielweise mehrere Datenspalten gleichzeitig abrufen, die Daten in einer Berechnung verwenden und anschließend das Ergebnis mit einer Spalte vergleichen, die einen erwarteten Rückgabewert enthält.
Codieren eines datengesteuerten Komponententests
Zum Erstellen eines datengesteuerten Komponententests können Sie entweder mit einem manuell erstellten Komponententest oder mit einem generierten Komponententest beginnen. Weitere Informationen finden Sie unter Gewusst wie: Erstellen eines Komponententests und unter Gewusst wie: Generieren eines Komponententests.
Um einen vorhandenen Komponententest zu konfigurieren, fügen Sie Attribute hinzu, die die zu verwendende Datenquelle, die Art des Datenzugriffs und die Tabelle definieren, deren Zeilen als Eingabe verwendet werden sollen. Weitere Informationen zum Konfigurieren dieser Attribute finden Sie unter Gewusst wie: Konfigurieren eines datengesteuerten Komponententests.
Der folgenden Beispielcode stammt aus einem datengesteuerten Komponententest, für den Daten aus der Northwind-Datenbank verwendet werden.
namespace TestProject1
{
[TestClass]
public class TestClass
{
private TestContext m_testContext;
public TestContext TestContext
{
get { return m_testContext; }
set { m_testContext = value; }
}
[TestMethod]
[DeploymentItem("FPNWIND.MDB")]
[DataSource("System.Data.OleDb", "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\"FPNWIND.MDB\"", "Employees", DataAccessMethod.Sequential)]
public void TestMethod()
{
Console.WriteLine( "EmployeeID: {0}, LastName: {1}", TestContext.DataRow["EmployeeID"], TestContext.DataRow["LastName"] );
}
}
}
Für den Code innerhalb der Testmethode dieses Beispiels werden Werte aus den Spalten LastName und EmployeeID in der Tabelle "Employees" der Datenquelle verwendet. Von der Testmethode wird auf diese Werte über die TestContext-Eigenschaft zugegriffen. Diese ist in der Testklasse definiert, die die Methode enthält.
Siehe auch
Aufgaben
Gewusst wie: Erstellen eines Komponententests
Gewusst wie: Konfigurieren eines datengesteuerten Komponententests