2

データ駆動型テストで動的に生成されたXMLファイルを使用しようとしています。VisualStudio2010と.NET4.0を使用しています。

[TestMethod]
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.XML", @"|DataDirectory|\StudentData.xml", "Student", DataAccessMethod.Sequential)]

このStudentData.xmlファイルはコードによって生成されており、私はこのファイルをデプロイしていません。StudentData.xmlメソッドでファイルを生成するためのコードを作成しましたTestInitialize()。また、ファイルは現在の作業ディレクトリに保存されています。

テストメソッドを実行しようとすると、エラーがスローされます。

The unit test adapter failed to connect to the data source or to read the data. For more information on troubleshooting this error, see "Troubleshooting Data-Driven Unit Tests" (http://go.microsoft.com/fwlink/?LinkId=62412) in the MSDN Library.
Error details: Object reference not set to an instance of an object.

私が思うに、ファイルを作成する前に、フレームワークはファイルにアクセスしようとしています。では、このXMLファイルを単体テストで使用するにはどうすればよいですか?また、属性で変数名を使用できますか?

ご協力いただきありがとうございます

4

1 に答える 1

3

過去 17 時間、返信がありませんでした。それは私にとって重要だったので、他の可能性を探ろうとしました。

最後に、私はそれを機能させました。以下は簡単な解決策です(将来、私のような他の初心者に役立つ可能性があるため、これを投稿しています)。

XML ファイル生成コードを[ClassInitialize]代わりにメソッドに移動したところ、問題なくTestInitialize()動作しました。

また、メソッドが実行される順序は次のとおりです。

1.  Methods marked with the AssemblyInitializeAttribute.
2.  Methods marked with the ClassInitializeAttribute.
3.  Methods marked with the TestInitializeAttribute.
4.  Methods marked with the TestMethodAttribute

詳しくはこちらをチェック

ありがとう...

于 2013-01-21T12:46:28.917 に答える