Как записать вывод из модульного теста? - PullRequest
87 голосов
/ 24 января 2011

Любой вызов в моих модульных тестах на Debug.Write(line) или Console.Write(Line) просто пропускается во время отладки, и вывод никогда не печатается.Звонки на эти функции из классов, которые я использую, работают нормально.

Я понимаю, что модульное тестирование предназначено для автоматизации, но я все же хотел бы иметь возможность выводить сообщения из модульного теста.

Ответы [ 13 ]

0 голосов
/ 08 января 2013

Я не получаю вывод, когда мои настройки Test / Test Settings / Default Processor Architecture и сборки, на которые ссылается мой тестовый проект, не совпадают. В противном случае Trace.Writeline () работает нормально.

0 голосов
/ 24 января 2011

Вы уверены, что запускаете свои модульные тесты в Debug? Debug.WriteLine не будет вызываться в сборках выпуска.

Два варианта:

  • Trace.WriteLine (), который встроен в сборку выпуска, а также отладку

  • Отменить определение DEBUG в настройках сборки для модульного теста

0 голосов
/ 24 января 2011

Попробуйте использовать:

Console.WriteLine()

Вызов Debug.WriteLine будет выполняться только во время определения DEBUG.

Другие предложения должны использоваться: Trace.WriteLine также, но я не пробовал это.

Существует также опция (не уверенная, есть ли у VS2008), но вы все равно можете использовать Debug.WriteLine при запуске теста с опцией Test With Debuggerв IDE

...