Assert.That プロパティ

定義

Assert 機能のシングルトン インスタンスを取得します。

public static Microsoft.VisualStudio.TestTools.UnitTesting.Assert That { get; }
static member That : Microsoft.VisualStudio.TestTools.UnitTesting.Assert
Public Shared ReadOnly Property That As Assert

プロパティ値

次の例では、カスタム IsPrime アサーションを Assert の拡張メソッドとして定義し、 Assert.Thatを介して呼び出します。

using System;
using System.Linq;
using Microsoft.VisualStudio.TestTools.UnitTesting;

public static class CustomAssertExtensions
{
    public static void IsPrime(this Assert assert, int value)
    {
        if (value < 2 || Enumerable.Range(2, (int)Math.Sqrt(value) - 1).Any(i => value % i == 0))
        {
            throw new AssertFailedException($"Assert.That.IsPrime failed. Value <{value}> is not a prime number.");
        }
    }
}

[TestClass]
public class CalculatorTests
{
    [TestMethod]
    public void NextPrime_ReturnsPrime()
    {
        int result = new Calculator().NextPrime(10);
        Assert.That.IsPrime(result);
    }
}

注釈

ユーザーはこれを使用して、C# 拡張メソッドを使用してカスタム アサーションをプラグインできます。 たとえば、カスタム アサーション プロバイダーの署名を public static void IsOfType<T>(this Assert assert, object obj) し、呼び出しサイトを Assert.That.IsOfType<Dog>(animal);できます。 詳細については、「 Assert.That を使用してカスタム アサーションを作成する」を参照してください。

適用対象