{
"title": "Assert - xUnit.net",
"useMathjax": false,
"isDraft": true
}
================================================================================
単純比較
- 期待される答え (
expected
) と、実際の実行結果 (actual
) を与えて比較する。
- 2つが同じなら成功(メソッド名の通りになっていれば成功)
Assert.Equal("期待される答え", "実際の実行結果");
Assert.Equal(2, MyMath.Add(1, 1));
メソッド |
説明 |
Assert.Equal<T>(T expected, T actual) |
|
Assert.Equal(decimal expected, decimal actual, int precision) |
同じなら成功。10進数で小数点以下 precision 桁になるように丸め込んで比較する。 |
Assert.Equal(double expected, double actual, int precision) |
同じなら成功。10進数で小数点以下 precision 桁になるように丸め込んで比較する。 |
Assert.NotEqual<T>(T expected, T actual) |
|
Assert.NotEqual(decimal expected, decimal actual, int precision) |
同じなら成功。10進数で小数点以下 precision 桁になるように丸め込んで比較する。 |
Assert.NotEqual(double expected, double actual, int precision) |
同じなら成功。10進数で小数点以下 precision 桁になるように丸め込んで比較する。 |
Assert.Equal<T>(T expected, T actual, IEqualityComparer<T> comparer) |
|
Assert.NotEqual<T>(T expected, T actual, IEqualityComparer<T> comparer) |
|
Boolean 系
True
メソッド |
説明 |
Assert.True(bool condition) |
condition が true なら成功 |
Assert.True(bool? condition) |
condition が true なら成功 |
Assert.True(bool condition, string userMessage) |
condition が true なら成功。userMessage はメッセージ |
Assert.True(bool? condition, string userMessage) |
condition が true なら成功。userMessage はメッセージ |
False
メソッド |
説明 |
Assert.False(bool condition) |
condition が false なら成功 |
Assert.False(bool? condition) |
condition が false なら成功 |
Assert.False(bool condition, string userMessage) |
condition が false なら成功。userMessage はメッセージ |
Assert.False(bool? condition, string userMessage) |
condition が false なら成功。userMessage はメッセージ |
文字列系
比較系
メソッド |
説明 |
Assert.Equal(string expected, string actual) |
actual が expected と同じなら成功 |
Assert.Equal(string expected, string actual, bool ignoreCase = false, bool ignoreLineEndingDifferences = false, bool ignoreWhiteSpaceDifferences = false) |
actual が expected と同じなら成功<br/>ignoreCase : true なら大文字と区別しない<br/>ignoreLineEndingDifferences : true なら改行コードの違いを区別しない<br/>ignoreWhiteSpaceDifferences : true ならホワイトスペースの違いを区別しない(全角スペースはダメ?) |
包含系
メソッド |
説明 |
Assert.EndsWith(string expectedEndString, string actualString) |
|
Assert.EndsWith(string expectedEndString, string actualString, StringComparison comparisonType) |
|
Assert.StartsWith(string expectedStartString, string actualString) |
|
Assert.StartsWith(string expectedStartString, string actualString, StringComparison comparisonType) |
|
Assert.Contains(string expectedSubstring, string actualString) |
|
Assert.Contains(string expectedSubstring, string actualString, StringComparison comparisonType) |
|
Assert.DoesNotContain(string expectedSubstring, string actualString) |
|
Assert.DoesNotContain(string expectedSubstring, string actualString, StringComparison comparisonType) |
|
正規表現系
メソッド |
説明 |
Assert.DoesNotMatch(string expectedRegexPattern, string actualString) |
|
Assert.DoesNotMatch(Regex expectedRegex, string actualString) |
|
Assert.Matches(Regex expectedRegex, string actualString) |
|
Assert.Matches(string expectedRegexPattern, string actualString) |
|
Null
メソッド |
説明 |
Assert.Null(object @object) |
@object の参照が null なら成功 |
Assert.NotNull(object @object) |
@object が null なら成功 |
型
public static T IsAssignableFrom<T>(object @object);
public static void IsAssignableFrom(Type expectedType, object @object);
public static void IsNotType<T>(object @object);
public static void IsNotType(Type expectedType, object @object);
public static T IsType<T>(object @object);
public static void IsType(Type expectedType, object @object);
例外
public static T Throws<T>(Action testCode) where T : Exception;
public static T Throws<T>(Func<object> testCode) where T : Exception;
public static T Throws<T>(string paramName, Action testCode) where T : ArgumentException;
public static T Throws<T>(string paramName, Func<object> testCode) where T : ArgumentException;
public static Exception Throws(Type exceptionType, Action testCode);
public static Exception Throws(Type exceptionType, Func<object> testCode);
public static T ThrowsAny<T>(Action testCode) where T : Exception;
public static T ThrowsAny<T>(Func<object> testCode) where T : Exception;
public static Task<T> ThrowsAnyAsync<T>(Func<Task> testCode) where T : Exception;
public static Task<T> ThrowsAsync<T>(Func<Task> testCode) where T : Exception;
public static Task<T> ThrowsAsync<T>(string paramName, Func<Task> testCode) where T : ArgumentException;
public static Task<Exception> ThrowsAsync(Type exceptionType, Func<Task> testCode);
public static void All<T>(IEnumerable<T> collection, Action<T> action);
public static void Collection<T>(IEnumerable<T> collection, params Action<T>[] elementInspectors);
public static void Contains<T>(IEnumerable<T> collection, Predicate<T> filter);
public static void Contains<T>(T expected, IEnumerable<T> collection);
public static void Contains<T>(T expected, IEnumerable<T> collection, IEqualityComparer<T> comparer);
public static void DoesNotContain<T>(IEnumerable<T> collection, Predicate<T> filter);
public static void DoesNotContain<T>(T expected, IEnumerable<T> collection);
public static void DoesNotContain<T>(T expected, IEnumerable<T> collection, IEqualityComparer<T> comparer);
public static void Empty(IEnumerable collection);
public static void Equal<T>(IEnumerable<T> expected, IEnumerable<T> actual);
public static void Equal<T>(IEnumerable<T> expected, IEnumerable<T> actual, IEqualityComparer<T> comparer);
public static void InRange<T>(T actual, T low, T high) where T : IComparable;
public static void InRange<T>(T actual, T low, T high, IComparer<T> comparer);
public static void NotEmpty(IEnumerable collection);
public static void NotEqual<T>(IEnumerable<T> expected, IEnumerable<T> actual);
public static void NotEqual<T>(IEnumerable<T> expected, IEnumerable<T> actual, IEqualityComparer<T> comparer);
public static void NotInRange<T>(T actual, T low, T high) where T : IComparable;
public static void NotInRange<T>(T actual, T low, T high, IComparer<T> comparer);
public static void NotSame(object expected, object actual);
public static void NotStrictEqual<T>(T expected, T actual);
public static void ProperSubset<T>(ISet<T> expectedSuperset, ISet<T> actual);
public static void ProperSuperset<T>(ISet<T> expectedSubset, ISet<T> actual);
public static void PropertyChanged(INotifyPropertyChanged @object, string propertyName, Action testCode);
protected static Exception RecordException(Func<object> testCode);
protected static Task<Exception> RecordExceptionAsync(Func<Task> testCode);
public static void Same(object expected, object actual);
public static T Single<T>(IEnumerable<T> collection);
public static object Single(IEnumerable collection);
public static T Single<T>(IEnumerable<T> collection, Predicate<T> predicate);
public static void Single(IEnumerable collection, object expected);
public static void StrictEqual<T>(T expected, T actual);
public static void Subset<T>(ISet<T> expectedSuperset, ISet<T> actual);
public static void Superset<T>(ISet<T> expectedSubset, ISet<T> actual);
Assert
NullAsserts
// null だったら失敗
Assert.NotNull(object @object);
// null じゃなかったら失敗
Assert.Null(object @object);
BooleanAsserts
// false じゃなかったら失敗
Assert.False(bool? condition[, string userMessage]);
// true じゃなかったら失敗
Assert.True(bool? condition[, string userMessage]);
参考資料