NUnitでは文字列をテストするために、以下のメソッドが用意されています。
メソッド | 説明 |
---|---|
StringAssert.Contains(含まれるべき文字列、実際の値) | 実際の値に含まれるべき期待値が含まれている場合、テスト成功 |
StringAssert.StartsWidth(始まりの文字列、実際の値) | 実際の値が始まりの文字列で始まっている場合、テスト成功 |
StringAssert.EndWith(終わりの文字列, 実際の値) | 実際の値が終わりの文字列で終わっている場合、テスト成功 |
StringAssert.AreEqualIgnoringCase(期待値、実際の値) | 実際の値と期待値で大文字小文字を区別なく比較し、等しい場合はテスト成功 |
StringAssert.AreNotEqualIgnoringCase(期待値、実際の値) | 実際の値と期待値で大文字小文字を区別なく比較し、等しくない場合はテスト成功 |
以下に使用例を示します
VB.NETの例
<Test> Public Sub 任意の文字列で始まっているかをテスト() Dim 始まりの文字列 As String = "ABC" Dim 実際の値 As String = "ABCDEFGH" ' 実際の値が始まりの文字列で始まっていればテスト成功 StringAssert.StartsWith(始まりの文字列, 実際の値) End Sub <Test> Public Sub 任意の文字列で終わっているかをテスト() Dim 終わりの文字列 As String = "FGH" Dim 実際の値 As String = "ABCDEFGH" ' 実際の値が終わりの文字列で始まっていればテスト成功 StringAssert.EndsWith(終わりの文字列, 実際の値) End Sub <Test> Public Sub 大文字小文字を区別せず等しいかをテスト() Dim 期待値 As String = "abcdefgh" Dim 実際の値 As String = "ABCDEFGH" ' 大文字小文字を区別せず期待値と実際の値が等しい場合テスト成功 StringAssert.AreEqualIgnoringCase(期待値, 実際の値) End Sub <Test> Public Sub 大文字小文字を区別せず等しくないことをテスト() Dim 期待値 As String = "abcdefgh#" Dim 実際の値 As String = "ABCDEFGH" ' 大文字小文字を区別せず期待値と実際の値が等しくない場合テスト成功 StringAssert.AreNotEqualIgnoringCase(期待値, 実際の値) End Sub <Test()> Public Sub 正規表現によるパターンマッチでのテスト() Dim 郵便番号パターン As String = "\d\d\d-\d\d\d\d" Dim 実際の値 As String = "020-0123" ' 実際の値が郵便番号パターンとマッチすればテスト成功 StringAssert.IsMatch(郵便番号パターン, 実際の値) End Sub
C#での例
[Test] public void 任意の文字列が含まれるかテスト() { string 含まれるべき文字列 = "DEF"; string 実際の値= "ABCDEFGH"; // 実際の値に期待が含まれていればテスト成功 StringAssert.Contains(含まれるべき文字列, 実際の値); } [Test] public void 任意の文字列で始まっているかをテスト() { string 始まりの文字列 = "ABC"; string 実際の値 = "ABCDEFGH"; // 実際の値が始まりの文字列で始まっていればテスト成功 StringAssert.StartsWith(始まりの文字列, 実際の値); } [Test] public void 任意の文字列で終わっているかをテスト() { string 終わりの文字列 = "FGH"; string 実際の値 = "ABCDEFGH"; // 実際の値が終わりの文字列で始まっていればテスト成功 StringAssert.EndsWith(終わりの文字列, 実際の値); } [Test] public void 大文字小文字を区別せず等しいかをテスト() { string 期待値 = "abcdefgh"; string 実際の値 = "ABCDEFGH"; // 大文字小文字を区別せず期待値と実際の値が等しい場合テスト成功 StringAssert.AreEqualIgnoringCase(期待値, 実際の値); } [Test] public void 大文字小文字を区別せず等しくないことをテスト() { string 期待値 = "abcdefgh#"; string 実際の値 = "ABCDEFGH"; // 大文字小文字を区別せず期待値と実際の値が等しくない場合テスト成功 StringAssert.AreNotEqualIgnoringCase(期待値, 実際の値); } [Test] public void 正規表現にようるパターンマッチでのテスト() { string 郵便番号パターン = @"\d\d\d-\d\d\d\d"; string 実際の値 = "020-0123"; // 実際の値が郵便番号パターンとマッチすればテスト成功 StringAssert.IsMatch(郵便番号パターン, 実際の値); }
Please follow and like us:
コメント