раньше, когда я бегу моих тестов я создал свой код, чтобы выглядеть следующим образом:C# тест всегда возвращает истину, даже если тест не
private bool ValidateTestOne(EntityModel.MultiIndexEntities context)
{
if (context.SearchDisplayViews.Count() != expectedSdvCount)
{
Assert.Fail(" Search Display View count was different from what was expected");
}
if (sdv.VirtualID != expectedSdVirtualId)
{
Assert.Fail(" Search Display View virtual id was different from what was expected");
}
if (sdv.EntityType != expectedSdvEntityType)
{
Assert.Fail(" Search Display View entity type was different from what was expected");
}
return true;
}
Это также возвращает правильный путь, говоря мне, если тест прошло или провалилось. С тех пор, и после того, как некоторые советы, я изменил мой код, чтобы он выглядит следующим образом:
private bool ValidateTestOne(EntityModel.MultiIndexEntites context)
{
Assert.AreEqual(expectedEntityCount, context.Entities.Count(), "Entity Count was different from what was expected");
return true;
}
Мои мысли об использовании нового Assert.AreEqual
является то, что он все равно вернется обратно истинным или ложным в зависимости от того, что прошло не удалось. Но теперь мой тест всегда возвращает true, потому что у меня нет возможности выработать, если мой тест не удался или нет.
Все это определяется вызываемым следующей строкой в моей основной метод испытания:
Assert.IsTrue(test4PassFail = ValidateTest("4.4"), "Test 4 ");
Есть ли способ я могу ammend мой новый код, чтобы вернуть истинным или ложным, без необходимости вернуться к своему старому коду ,
Вы используете среду тестирования, или свой собственный в доме люкс? – MyCodeSucks
Я использую то, что у вас есть с визуальной студией. – Sean
Почему у вашего тестового метода есть возвращаемое значение? – xeraphim