Пользовательские утверждения с помощью MSTest - обработка исключения AssertFailedException - PullRequest
1 голос
/ 18 июня 2010

Я хотел бы предоставить несколько пользовательских методов Assert в моей инфраструктуре модульного тестирования MSTest. У меня есть собственный статический класс "CustomAssert" и методы, подобные приведенному ниже:

public static void DatesAreEqualToDay(DateTime expectedValue, DateTime actualValue)
{
    if (!(
       expectedValue.Year == actualValue.Year &&
       expectedValue.Month == actualValue.Month &&
        expectedValue.Day == actualValue.Day))
    {
        Assert.Fail(string.Format("Expected: <{0:yyyy-MM-dd}> - Actual <{1:yyyy-MM-dd}>", expectedValue, actualValue));
    }
}

Тест не пройден, если даты не совпадают. Но вместо пользовательского сообщения об ошибке я просто получаю сообщение о том, что тест выдал исключение AssertFailedException. Как получить пользовательские утверждения, которые обрабатываются как методы Assert MSTest, и отображать интеллектуальное сообщение об ошибке?

Ответы [ 2 ]

1 голос
/ 02 августа 2011

Вместо создания собственных пользовательских утверждений вы также можете попытаться использовать одну из доступных в настоящее время платформ. Как например: Свободные утверждения .

0 голосов
/ 22 июня 2010

Эта проблема была вызвана тем, что мой проект «TestFramework» ссылался на версию VS2008 сборки Microsoft.VisualStudio.QualityTools.UnitTesting.Я изменил ссылку на версию сборки VS2010, и пользовательские утверждения начали работать, как и ожидалось, MSTest отображал пользовательское сообщение подтверждения, а не «AssertFailedException».

...