NUnitではファイル内容が一致するかをテストするために、以下のメソッドが用意されています。
- FileAsert.AreEqual ファイル内容が一致している場合テスト成功
- FileAsert.AreNotEqual ファイル内容が不一致の場合テスト成功
AreEqual, AreNotEqualメソッドは、複数のオーバーロードを持っています。
よく使用されると思われるものは以下の通りです。
| オーバーロード | 説明 |
|---|---|
| FileAssert.AreEqual(期待する内容を持つファイルのパス文字列、テスト対象のファイルパス文字列) | 「期待する内容を持つファイルのパス文字列」が指すファイルの内容と、「テスト対象のファイルパス文字列」が指すファイルの内容が一致する場合、テスト成功 |
| FileAssert.AreEqual(期待する内容を持つファイルのFileInfoクラスのインスタンス、テスト対象のFileInfoクラスのインスタンス) | 「期待する内容を持つファイルのFileInfoクラスのインスタンス」のファイルの内容と、「テスト対象のFileInfoクラスのインスタンス」が指すファイルの内容が一致する場合、テスト成功 |
| FileAssert.AreNotEqual(期待する内容を持つファイルのパス文字列、テスト対象のファイルパス文字列) | 「期待する内容を持つファイルのパス文字列」が指すファイルの内容と、「テスト対象のファイルパス文字列」が指すファイルの内容が不一致の場合、テスト成功 |
| FileAssert.AreNotEqual(期待する内容を持つファイルのFileInfoクラスのインスタンス、テスト対象のFileInfoクラスのインスタンス) | 「期待する内容を持つファイルのFileInfoクラスのインスタンス」のファイルの内容と、「テスト対象のFileInfoクラスのインスタンス」が指すファイルの内容が不一致の場合、テスト成功 |
以下に使用例を示します。
VB.NETの例
<Test>
Public Sub パス文字列を使用したファイル内容の一致テスト()
Dim path1 As String = "C:\Work2\Test1.txt"
Dim path2 As String = "C:\Work2\Test2.txt"
FileAssert.AreEqual(path1, path2)
End Sub
<Test>
Public Sub パス文字列を使用したファイル内容の不一致テスト()
Dim path1 As String = "C:\Work2\Test1.txt"
Dim path2 As String = "C:\Work2\Test3.txt"
FileAssert.AreNotEqual(path1, path2)
End Sub
<Test>
Public Sub FileInfoクラスを使用したファイル内容の一致テスト()
Dim info1 As FileInfo = New FileInfo("C:\Work2\Test1.txt")
Dim info2 As FileInfo = New FileInfo("C:\Work2\Test2.txt")
FileAssert.AreEqual(info1, info2)
End Sub
<Test>
Public Sub FileInfoクラスを使用したファイル内容の不一致テスト()
Dim info1 As FileInfo = New FileInfo("C:\Work2\Test1.txt")
Dim info2 As FileInfo = New FileInfo("C:\Work2\Test3.txt")
FileAssert.AreNotEqual(info1, info2)
End Sub
C#の例
[Test]
public void パス文字列を使用したファイル内容の一致テスト()
{
string path1 = @"C:\Work2\Test1.txt";
string path2 = @"C:\Work2\Test2.txt";
FileAssert.AreEqual(path1, path2);
}
[Test]
public void パス文字列を使用したファイル内容の不一致テスト()
{
string path1 = @"C:\Work2\Test1.txt";
string path2 = @"C:\Work2\Test3.txt";
FileAssert.AreNotEqual(path1, path2);
}
[Test]
public void FileInfoクラスを使用したファイル内容の一致テスト()
{
FileInfo info1 = new FileInfo(@"C:\Work2\Test1.txt");
FileInfo info2 = new FileInfo(@"C:\Work2\Test2.txt");
FileAssert.AreEqual(info1, info2);
}
[Test]
public void FileInfoクラスを使用したファイル内容の不一致テスト()
{
FileInfo info1 = new FileInfo(@"C:\Work2\Test1.txt");
FileInfo info2 = new FileInfo(@"C:\Work2\Test3.txt");
FileAssert.AreNotEqual(info1, info2);
}
テストに使用したファイルは以下の通りです。
Test1.txt
NUnit Test
Test2.txt
NUnit Test
Test3.txt
MSTest
Please follow and like us:

コメント