Утверждать.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
Если вы тестируете что-то, что напрямую возвращает логическое значение, которое всегда должно быть правдой.
вы не должны массировать данные, чтобы получить логическое значение для IsTrue
; вместо этого, вы должны вызвать более соответствующий способ в Assert
или CollectionAssert
.
в вашем отредактированном примере вы должны обязательно позвонить Assert.AreEqual
вместо этого; это даст вам гораздо более приятное сообщение.