C# 运行xunit测试时无法将输出打印到控制台窗口
使用命令在命令提示符下运行测试时,尝试打印这些行 dotnet测试--无构建 尝试了C# 运行xunit测试时无法将输出打印到控制台窗口,c#,xunit,C#,Xunit,使用命令在命令提示符下运行测试时,尝试打印这些行 dotnet测试--无构建 尝试了Console.Writeline,之后我尝试了Output.Writeline。 即使从Visual Studio运行,我也无法在输出窗口中打印这些行。请注意,您可以使用ITestOutputHelper,它应该写入输出 请查看更多详细信息 public class test2InAnotherProject { private readonly ITestOutputHelper output;
Console.Writeline
,之后我尝试了Output.Writeline
。
即使从Visual Studio运行,我也无法在输出窗口中打印这些行。请注意,您可以使用ITestOutputHelper,它应该写入输出 请查看更多详细信息
public class test2InAnotherProject
{
private readonly ITestOutputHelper output;
public test2InAnotherProject(ITestOutputHelper output)
{
this.output = output;
}
int Diff(int a, int b)
{
return (a - b);
}
int Div(int a, int b)
{
return (b / a);
}
[Fact]
public void Test2()
{
int a = 2, b = 4;
output.WriteLine("Test1: Project 2 in old library");
int c = Diff(a, b);
Assert.Equal(c, (a - b));
output.WriteLine("Test1: Asssert done Project 2 in old library");
}
[Fact]
public void Test3()
{
int a = 2, b = 4;
output.WriteLine("Test2: Project 2 in old library");
int c = Div(a, b);
Assert.Equal(c, (float)((b / a)));
output.WriteLine("Test2: Assert done Project 2 in old library");
}
}
实际上,
Console.WriteLine
没有输出。输出窗口中不显示ITestOutputHelper
输出。相反,当您在测试资源管理器中单击测试时,会出现一个输出链接。单击该链接以查看输出
要在命令行上显示测试输出,请使用dotnettest--logger“console;verbosity=detailed”
从powershell控制台(如package Manager控制台或powershell控制台ISE)中运行
dotnete测试
,您可以获得Xunit项目的所有控制台.WriteLine
输出
在PowerShell ISE中运行以下脚本:
public class MyTestClass
{
private readonly ITestOutputHelper output;
public MyTestClass(ITestOutputHelper output)
{
this.output = output;
}
[Fact]
public void MyTest()
{
var temp = "my class!";
output.WriteLine("This is output from {0}", temp);
}
}
此外,源代码中的任何
Console.WriteLine(..)
也会显示在PS控制台中。根据我的代码。我已经在使用ITestOutputHelper,但它仍然不起作用。在我看来,这是最好和正确的答案。我正在使用xunit runner类,并制作另一个应用程序来运行通过的dll测试。Test2InOnotherProject的dll被传递给xunit runner实现,该实现在控制台窗口中运行dll。因此,当应用程序运行时,我希望输出到控制台窗口。为什么这样做?
cls
cd 'path/to/project/test/folder'
dotnet test