Replace Console.WriteLine in NUnit
I haven't done much with NUnit before, but I just wanted to dump some text to a window in a console type fashion. For example:
Console.WriteLine("... some information...");
That won't work of course because NUnit is driving things.
I'm in the middle of building some unit tests and want to dump a list of variable values for inspection during debug. It isn't strictly a unit test if I need to do this, I admit that, but it would be convenient.
In NUnit v3, you can also write to the test results output for debugging with
TestContext.Out.WriteLine("Message to write to log");
You can see the console output. You just have to select the "Text Output" tab in the NUnit GUI runner.
If you are using the ReSharper test runner, the console output should be displayed. Ensure that the test runner output window is displayed by clicking the "Show Output" button in the test runner tool bar:
You should then get something as follows:
Try using System.Diagnostics.Debug.WriteLine
instead.
In Visual Studio 2017, in the Test Explorer
window, there is a link, Output
, in the lower Test
pane. This brings up anything written to the console during that unit test.
Use the Test-Output view.
Steps:
- Open Test Explorer
- Select any particular test
- Run it if it has never been run.
- Click on the output link on the test results pane.
There is isn't any need to replace Console.WriteLine
with anything as this view logs messages from:
Console.WriteLine
Trace.WriteLine
Debug.WriteLine
TestExplorer.Out.WriteLine