我能否修改mstest控制台输出?

4

我有一些单元测试,我是这样运行的:

mstest /testcontainer:"Tests.dll"

有没有办法让我修改或添加此命令的输出?我尝试了Console.Writeline和this answer,但似乎都不起作用。


所有的输出都被重定向到trx文件,包括来自控制台和其他输出流的内容。为什么你需要将这些输出显示在标准输出(stdout)上? - allen
为学校做一个项目,需要在控制台上输出详细信息。 - ConditionRacer
2个回答

3

像以前一样使用Console.Writeline,并且在运行MSTest时使用/detail开关:

MSTest /testcontainer:"Tests.dll" /detail:stdout

代码

[TestMethod]
public void TestMethod1()
{
    Console.WriteLine("Output to console...");
}

输出

enter image description here


这很奇怪,在我的情况下我可以看到输出。 - chaliasos
嗯,这很奇怪。我今晚再试一次。 - ConditionRacer
有时候我会在控制台中得到一些输出。但是从所有的测试运行中也不会得到全部输出。MSTest真的让我感到很烦恼。 - Akku

0

我还没有从控制台尝试过这个,但通常我在Visual Studio中使用TestContext。你也可以像使用String.Format一样使用它。在Visual Studio中,您可以转到查看测试结果并查看输出。

   public TestContext TestContext { get; set; }

   [TestMethod]
   public void MyTestMethod()
   {
       int value = 5;
       TestContext.WriteLine("This is my output for the test: {0}", value);
   }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接