33
votes

With NUnit, if you add Debug.Print statements in your tests they appear in the test output. (At least they do in the ReSharper unit test window.)

When using a NAnt build file that executes the same tests, those Debug.Print statements do not appear.

How can I add messages to my unit tests that will appear both in the NUnit output and the build log output from NAnt?

2

2 Answers

32
votes

Console.WriteLine() should be preserved (it is for my version of NUnit at least).

That said, consider - each time you want to add some text output - how you could turn it into an assertion with a message. Your tests will get much better.

54
votes

NUnit 3's way of logging during a test is via the TestContext class. It has a raft of static Write variants. Each emits general content to the test result.

TestContext.Out yields a TextWriter that can also be used to emit logging information into test results.