私は私のプロジェクトのメソッドの単体テストを作成しました。このメソッドは、ファイルが見つからない場合に例外を発生させます。私はそれのための単体テストを書いたが、私はまだ例外が発生したときにテストに合格することはできません。MSユニットテストの例外?
方法はある
public string[] GetBuildMachineNames(string path)
{
string[] machineNames = null;
XDocument doc = XDocument.Load(path);
foreach (XElement child in doc.Root.Elements("buildMachines"))
{
int i = 0;
XAttribute attribute = child.Attribute("machine");
machineNames[i] = attribute.Value;
}
return machineNames;
}
[TestMethod]
[DeploymentItem("TestData\\BuildMachineNoNames.xml")]
[ExpectedException(typeof(FileNotFoundException),"Raise exception when file not found")]
public void VerifyBuildMachineNamesIfFileNotPresent()
{
var configReaderNoFile = new ConfigReader();
var names = configReaderNoFile.GetBuildMachineNames("BuildMachineNoNames.xml");
}
が、私はこの方法で例外を処理すべきか、私は他の何かをしないのですユニットテスト?
編集:私は渡してい
パスは、ファイルを見つけるためのものではありませんので、このテストに合格しなければならない...つまり何をファイルには、そのパスに存在しない場合。
エラーメッセージは何ですか?別の例外がスローされましたか?それとも全く? –
ファイルが見つかりません!実際に私はユニットテストプロジェクトでテストデータを追加しましたが、 "常にコピーする"というプロパティ "コピーアウト出力ディレクトリ"を管理していませんでした....今解決されました。ありがとうとにかく – PawanS