Есть ли различия между этими двумя?
Различия между Assert.True и Assert.IsTrue в NUnit?
Ответ 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);
}
Перегруженные методы реализуются аналогично.