Dans ma méthode de test codedui, je compare la valeur de sortie avec mon fichier csv. Fondamentalement, j'utilise l'application calculatrice et en sélectionnant l'option du mode programmeur. En cliquant sur un bouton (ici cliqué sur le bouton 8) et en comparant la sortie sous les valeurs Decimal, HexaDecimal, Binary et Octal avec mon résultat (c'est-à-dire mon fichier csv). En comparant le résultat, j'ai utilisé la méthode Assert.AreEqual()
. Ci-dessous mon extrait de code:Assert.AreEqual a échoué. Attendu: <8>. Réel: <8> lors de l'exécution de ma méthode de test d'interface utilisateur codée
try
{
Assert.AreEqual(TestContext.DataRow["Binary"].ToString().Split(' ')[1].Trim(), control.ToString().Split(' ')[1].Trim(), "Binary value matches with expected.");
}
catch (AssertFailedException err)
{
Console.WriteLine(err.Message);
}
Cependant, lorsque je courais le TestMethod, mon test passé et illustré ci-dessous un message:
Assert.AreEqual a échoué. Attendu: < 1000>. Réel: < 1000>.
Je ne sais pas pourquoi Asser.AreEqual a échoué.
Existe-t-il des caractères non imprimables dans ces valeurs? Définir un point d'arrêt sur la ligne assert, déboguer le test et vérifier les deux valeurs ... –
Merci Johan, j'ai mis un point d'arrêt et j'ai trouvé que Assert.AreEqual effectuait uniquement la vérification d'objet. Référé https://msdn.microsoft.com/en-us/library/ms243486.aspx et m'aide à résoudre le problème auquel j'ai fait face. –