Så här gör man för att skapa datadrivna användargränssnittstester.

  1. Högerklicka på ett befintligt test och ta upp dess egenskaper.
  2. Det finns en egenskap som heter Data Connection String. Genom en knapp vid den egenskapen så får man upp en wizard där man kan koppla en datakälla emot sitt test.
  3. Det finns som standard tre typer av datakällor: Databas, CVS och XML. Man pekar ut sin källa och talar om vilken tabell i källan som man vill använda.

Det som skapas då är ett attribut på testmetoden som beskriver det som precis har gjorts.

Nu kan man skriva in de fält som man vill skall användas när man kör testet. Se följande kod:

[DeploymentItem("TestProject9\\MemberInfoTestData.xml"), DataSource("Microsoft.VisualStudio.TestTools.DataSource.XML", "|DataDirectory|\\MemberInfoTestData.xml", "Member", DataAccessMethod.Sequential), TestMethod]

public void AddMemberToMemberList()
{
    this.UIMap.AddMemberToListParams.UIInputNameEditText = (string)TestContext.DataRow["Name"];
    this.UIMap.AddMemberToListParams.UIInputMembershipDateEditText = (string)TestContext.DataRow["MembershipDate"];
    this.UIMap.AddMemberToListParams.UIInputBirthDateEditText = (string)TestContext.DataRow["BirthDate"];

    this.UIMap.AddMemberToList();
}

Som ni ser kan man välja hur datat skall plockas ur datakällan. I det här fallet är det DataAccessMethod.Sequential, men det kan också vara Random.

När man kör test så ser testresultatet ut på följande sätt:

clip_image001

Vi får alltså ett resultat på test som vi körde. Jag har tre rader i min datakälla med testdatat.