Подтвердить что ты не робот

Различия между Assert.True и Assert.IsTrue в NUnit?

Есть ли различия между этими двумя?

4b9b3361

Ответ 1

Никакой разницы. Assert.True() и другие (без Is) были добавлены, так как v2.5.

Из документации для версии 2.5: (nunit v2.5)

Для True, False, Null и NotNull предусмотрены две формы условия. Формы "Is" совместимы с более ранними версиями NUnit, в то время как те, у кого нет "Is", предусмотрены совместимость с NUnitLite

BTW, дизассемблирован nunit.framework.dll(используя ILSPY)

public static void IsTrue(bool condition)
{
    Assert.That(condition, Is.True, null, null);
}

public static void True(bool condition)
{
    Assert.That(condition, Is.True, null, null);
}

Ответ 2

Кажется, что не существует различий в реализации. Рассматривая исходный код для последней версии здесь, все True, IsTrue и That реализованы в том же когда списки аргументов одинаковы:

public static void True(bool condition, string message, params object[] args)
{
    Assert.That(condition, Is.True, message, args);
}
...
public static void IsTrue(bool condition, string message, params object[] args)
{
    Assert.That(condition, Is.True, message, args);
}
...
static public void That(bool condition, string message, params object[] args)
{
    Assert.That(condition, Is.True, message, args);
}

Перегруженные методы реализуются аналогично.