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
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.
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.