问题
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");
}
}
trying to print those lines when test is run through command prompt by using the command
dotnet test --no-build
Tried Console.Writeline
, after which i tried with Output.WriteLine
.
Even when i run from Visual Studio am not able to get those lines printed in output window.
回答1:
Indeed there is no output with Console.WriteLine
. And the ITestOutputHelper
output is not shown in the Output window. Instead, when you click on the test in the Test Explorer, then there is an Output link. Click on that link to see the output.
To show the test output on the command line, use dotnet test --logger "console;verbosity=detailed"
.
回答2:
Running dotnete test
from within powershell console like package Manager console or powershell console ISE, you can get ALL the Console.WriteLine
output for Xunit project.
In powershel ISE
, run this script:
cls
cd 'path/to/project/test/folder'
dotnet test
Also any Console.WriteLine(..)
in the source code is displayed in the PS console.
回答3:
Please note that you can use ITestOutputHelper and it should write output.
Please refer this documentation for more details.
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);
}
}
来源:https://stackoverflow.com/questions/55258178/not-able-to-print-output-to-console-window-while-running-xunit-tests