Утверждать.AreEqual vs Assert.IsTrue / Assert.Имеетзначение false

при тестировании метода, который имеет возвращаемый тип bool.

Если у вас есть:

expected = true;
Assert.AreEqual(expected, actual);

или

Assert.IsTrue(actual);

Я знаю, что они оба дают один и тот же результат, но что лучше практиковать?

EDIT: например, если я делаю AreEqual, это не то же самое, что делать IsTrue для метода, который возвращает строку a la ниже:

string expected = “true”;
String actual = test.testMethod(data)
Bool test;

if expected.equals(actual)
            test = true;
else 
            test = false;
Assert.IsTrue(test);

2 ответов


С помощью Assert.IsTrue яснее и менее многословно.


вы должны использовать только Assert.IsTrue Если вы тестируете что-то, что напрямую возвращает логическое значение, которое всегда должно быть правдой.

вы не должны массировать данные, чтобы получить логическое значение для IsTrue; вместо этого, вы должны вызвать более соответствующий способ в Assert или CollectionAssert.

в вашем отредактированном примере вы должны обязательно позвонить Assert.AreEqual вместо этого; это даст вам гораздо более приятное сообщение.