I am trying to show some information from a [TestMethod] method.
Usually we use NUnit and a line with Console.WriteLine
runs fine and we can see it in 'output' window, but on this project we must to use Testing tools embebed with VS2010 and Console.WriteLine
doesn't run because we cannot see anything.
What I want is show trace messages on the 'Output' Window in this way more or less:
using System;
using System.Text;
using System.Collections.Generic;
using System.Linq;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Test1
{
[TestClass]
public class TestNum1
{
[TestMethod]
public void Constructors()
{
for (int b = 1; b < 99; b++) {
Console.WriteLine(b.ToString()); // <<<<<<< This don't show on Output.
Assert.AreEqual(b, b); // This is only a silly sample.
}
}
}
}
It goes to the console (standard output) or to the stream that the console is set to.
To print a message to the console, we use the WriteLine method of the Console class. The class represents the standard input, output, and error streams for console applications. Note that Console class is part of the System namespace. This line was the reason to import the namespace with the using System; statement.
WriteLine(String, Object, Object)Writes the text representation of the specified objects, followed by the current line terminator, to the standard output stream using the specified format information.
You can use a logging library. log4net seems to be the most popular choice.
you should replace Console.WriteLine
with System.Diagnostics.Debug.WriteLine(...)
and you will see the output in the Visual Studio Debug Output Window.
Edit: just found out now this is a duplicated question, look here:
How to write to Console.Out during execution of an MSTest test
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With