Je suis Unité Test d'une de mes fonctions. Voici mon code:Ajout d'un simulacre de données dans les tests unitaires
public void TestLabels()
{
//Step 1: Creating a mock table with columns exactly like in the real table.
DataTable table = new DataTable();
DataRow mydatarow;
mydatarow = table.NewRow();
//Step 2: Adding the row as same as the Real Data!
mydatarow["Name"] = "Test";
mydatarow["Address"] = "00000 ST.";
mydatarow["ZipCode"] = "77665";
mydatarow["Tracking#"] = "";
table.Rows.Add(mydatarow);
foreach (DataColumn column in table.Columns)
Console.WriteLine(column.ColumnName);
//Step 3: Call method we are testing.
var updateTable = IceTechUPSClient.Instance.CreateLabels(table);
foreach (DataRow row in updateTable.Rows)
{
var trackingNumber = row["Tracking#"].ToString();
Assert.IsFalse(String.IsNullOrWhiteSpace(trackingNumber), "Expecting tracking number generated for every row!");
Assert.IsTrue(File.Exists(trackingNumber + ".gif"));
}
}
Maintenant j'obtiens une erreur: La colonne 'Nom' n'appartient pas à la table. Comme vous pouvez le voir, j'ai spécifié le nom de la colonne "Nom" ici et ajouté cette ligne particulière. Alors pourquoi je reçois cette erreur? De l'aide?
Merci!
uuummm ... Je pense que j'utilise le même code. –
C'est ici que je crée les colonnes: 'DataRow mydatarow; mydatarow = table.NewRow(); // Etape 2: Ajouter la ligne comme les données réelles! mydatarow ["Name"] = "Test"; mydatarow ["Adresse"] = "00000 ST."; mydatarow ["ZipCode"] = "77665"; mydatarow ["Tracking #"] = ""; ' –
Ici, les noms des colonnes sont: Nom, Adresse, Code postal et Numéro de suivi. –