2017-05-11 3 views
1

データ駆動型テスト(vstest)で使用するcsvファイルを(SourceTextクラスを介して)UTF-8エンコーディングで自動的に生成します。列「IsProductCreated」 テーブルに属していません:TestContextは データ駆動型テスト用のcsvファイルの最初の列を読み取ることができません。 Visual Studio 2017

はSystem.ArgumentExceptionの、それは常に例外をスローし、まず、列ヘッダを見つける見つけることができません。

手動でダミー列を各行の先頭に追加すると、テストが機能します。

TestContextのセットアップ:

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

使用例:

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

は私が間違って何をしているのですか?

答えて

0

私のSourceTextインスタンスのエンコードをEncoding.Defaultに明示的に変更しました。それが機能しました。私の意見では、Encoding.Defaultはデフォルトではありません。エンコーディングがなければ、他のエンコーディングを試してみましたが、UTF8は正しいと思われましたが、そうではありませんでした。

関連する問題