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:
コメント