2017-05-11 5 views
1

Je génère automatiquement (via la classe SourceText) un fichier csv à utiliser dans un test piloté par données (vstest), avec un codage UTF-8. Le TestContext ne peut pas trouver trouver l'en-tête de la colonne d'abord, il jette toujours une exception,Impossible de lire la première colonne du fichier csv pour le test piloté par les données. Visual Studio 2017

System.ArgumentException: Colonne « IsProductCreated » n'appartient pas à la table .

Si j'ajoute manuellement une colonne fictive au début de chaque ligne, le test fonctionne.

La configuration TestContext:

[TestMethod] 
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV", "9C118DF7_AssignMaterialsToProductionOrderWhenNotReleased.csv", "9C118DF7_AssignMaterialsToProductionOrderWhenNotReleased#csv", DataAccessMethod.Sequential), 
DeploymentItem("..\\..\\MaterialAndContainer\\MaterialManagementTest\\_TestData\\9C118DF7_AssignMaterialsToProductionOrderWhenNotReleased.csv")] 

Exemple d'utilisation:

productionOrderScenario.IsProductCreated = (DataDrivenReader.ReadBool(TestContext.DataRow["IsProductCreated"])); 

Qu'est-ce que je fais mal?

Répondre

0

J'ai modifié le codage de mon instance SourceText à Encoding.Default, explicitement. Cela a fait fonctionner. Il est décevant à mon avis que l'encodage par défaut n'est pas, bien, le défaut ... N'ayant pas d'encodage m'a fait essayer les autres encodages, UTF8 semblait le bon, mais ce n'était pas le cas.