c# Unit tests написать в лог

470
09 декабря 2016, 08:59

Как писать в окно отладки в юнит тестировании?

Trace.WriteLine() не работает почему-то. Debug. не удобно

Answer 1

Писать в окно отладки во время тестирования можно как с использованием Console.WriteLine(), так и с использованием Trace.WriteLine()

Пример Console.WriteLine

[TestMethod]
public void TestConsoleWriteLine()
{
    Assert.IsTrue(true);
    Console.WriteLine(@"Тест 'TestConsoleWriteLine' успешно пройден");
}

Пример Trace.WriteLine

[TestMethod]
public void TestTraceWriteLine()
{
    Assert.IsTrue(true);
    Trace.WriteLine(@"Тест 'TestTraceWriteLine' успешно пройден");
}

Если не работает ни одним из указанных способов - необходимо смотреть настройки VisualStudio и Resharper. Перейдите в настройки Resharper -> Options... -> Tools -> Unit Testing и посмотрите, как у Вас там настроено, попробуйте внести изменения. Хотя, все зависит от версии Resharper и VisualStudio.

Увидел комментарий по поводу исключения: Если Ваш тест не ожидает Exception, необходимо навесить на метод теста аттрибут ExpectedExceptionAttribute, который указывает, что во время выполнения метода теста ожидается исключение.

Answer 2

На самом деле работает, но немного не так, как обычно. Я запустил простейший тест:

[TestClass]
public class UnitTest1
{
    [TestMethod]
    public void TestMethod1()
    {
        Trace.WriteLine("Tracing from test");
    }
}

и после его пробега в отчёте (внутри обозревателя тестов) появилась ссылка Output.

По ней открывается окно:

Да, это не так удобно, как обычно, и вывод появляется только весь и только после пробега теста.

READ ALSO
Реализация Матрицы C#

Реализация Матрицы C#

Вот решил перейти с С++ на С# и наткнулся на такую проблемуКак я понял, в шарпе нет шаблонов как таковых, и это компенсируется интерфейсами...

468
Точка входа в MVVM: App.xaml.cs или представление?

Точка входа в MVVM: App.xaml.cs или представление?

Начал изучать MVVM и столкнулся, как наверное и многие другие, с определенным недопониманиемВ многочисленных примерах реализации MVVM, доступных...

281
Как создать папку с текстовыми файлами в проекте и пользоваться ими?

Как создать папку с текстовыми файлами в проекте и пользоваться ими?

Хочу добавить в проект несколько csv файлов и пользоваться ими, как текстовыми ресурсамиНу и чтобы лежали вместе в папке для порядка

382