0

ウェブサービスエンドポイントのテストをロードしようとしています。私はそれをテストするために構築されたデータ駆動ユニットテストを持っていました。私のデータソースはCSVファイルで、単体テストはそれをピックアップしてスムーズに動作します。しかし、Microsoft Visual Studio LoadTestFrameworkにテストを引っ掛けると、CSVファイルからデータを取得できません。ビジュアルスタジオでデータ駆動ユニットテストをロードする方法

私のユニットテストは、以下のようなものです:

[TestMethod] 
[DeploymentItem("MyProject\\testdata.csv")] 
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV","|DataDirectory|\\MyProject\\testdata.csv", "iq3#csv", DataAccessMethod.Sequential)] 
public void DataDrivenWebApiTest() 
{ 
    var username = (string)Context.DataRow["Username"]; 
    var password = (string)Context.DataRow["Password"]; 
    var token = GetToken(username, password); 
    var task = RequestClient.GetRequest("/api/endpoint", ApiUrl, token); 
    var result = task.Result; 
    result.EnsureSuccessStatusCode(); 
    } 

上記のユニットテストが孤立して良い実行されているが、ときのVisual Studioロードテストのフレームワークにフック、それは6行目、すなわち「(文字列)でNullPointerExceptionがスローされますContext.DataRow ["Username"]; "オブジェクト参照はnullに設定されています。誰か助けてもらえますか

+0

負荷テストを実行するとどうなりますか?どのようなエラーメッセージが生成されますか? *「CSVファイルからデータを取り出せません」というフレーズは、私たちには何も教えてくれません。質問を編集して問題を理解するために必要な詳細を追加してください。 – AdrianHHH

+1

この問題は解決しましたか?そうでなければ[mcve]を読んで質問を編集してください。問題が解決したら、http://stackoverflow.com/help/accepted-answerを読んでください。 – AdrianHHH

答えて

0

コードの... = (string)Context.DataRow[...];スタイルを使用してデータを抽出したことはありません。私が見て使ったすべての例は、スタイル... = Context.DataRow[...].ToString();を使っています。

コードが行抽出データで失敗するため、ファイルが展開されて正常に開かれているようです。それが正しいファイルであることをどのように知っていますか?別のファイルが展開されている可能性がありますか?テスト実行とそのサブディレクトリについては、TestResultsディレクトリを参照してください。 CSVファイルが正しい内容であることを確認してください。表示されるエラーのその他の一般的な理由は、ファイルに空の(空白の)行が含まれているか、フィールドが空であることです。

関連する問題