Far*_*rfi 23 c# xunit.net visual-studio-2015 dnx
在VS 2015社区中,我有一个示例ASP.NET 5(vNext)项目和一个带有单元测试的项目(xUnit.net).DNX的版本是1.0.0-beta5.我的目标是在测试运行期间将消息添加到输出窗格. 在这里我采取了一种方法来做到这一点,所以我的单元测试代码如下所示:
using Xunit;
using Xunit.Abstractions;
namespace UnitTests
{
public class UnitTest1
{
ITestOutputHelper output;
public UnitTest1(ITestOutputHelper output)
{
this.output = output;
}
[Fact]
public void TestTestTest()
{
output.WriteLine("Test Message");
Assert.Equal(2, 2);
}
}
}
Run Code Online (Sandbox Code Playgroud)
Visual Studio Test Explorer发现了这个测试(没关系),但是我在"输出"窗格(来自"测试")中的所有内容都是:
------ Run test started ------
------ Test started: Project: UnitTests ------
Starting Microsoft.Framework.TestHost [C:\Users\*******\.dnx\runtimes\dnx-clr-win-x86.1.0.0-beta5\bin\dnx.exe --appbase "C:\Users\*******\Documents\Visual Studio 2015\Projects\MvcMovie\UnitTests" Microsoft.Framework.ApplicationHost --port 55837 Microsoft.Framework.TestHost --port 55893]
Connected to Microsoft.Framework.TestHost
Running tests in 'C:\Users\*******\Documents\Visual Studio 2015\Projects\MvcMovie\UnitTests\project.json'
========== Run test finished: 1 run (0:00:03,2267169) ==========
Run Code Online (Sandbox Code Playgroud)
此外,在选定的测试通道信息下没有任何链接"输出",如下所示:
(只有"测试通过......经过的时间......")
我应该怎么做才能使这项ITestOutputHelper工作?
请尝试此解决方案。它对我有用。(VS2017 xunit 2.2.0.3545)
尝试在App.Config文件中添加以下配置。(我不知道为什么。只需要它。如果没有退出,只需在测试项目中添加一个新对象。)
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="xunit.diagnosticMessages" value="true"/>
</appSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)
输出信息将按Test预期方式写入输出中,如下所示。
[xUnit.net 00:00:00.0853907] Starting: xxxAssemblyName (parallel test collections = on, max threads = 8)
[xUnit.net 00:00:00.1689373] Example.xxxTestClassName [PASS]
[xUnit.net 00:00:00.1697265] Output:
[xUnit.net 00:00:00.1700698] xxxx your Test Message
[xUnit.net 00:00:00.1797303] Finished: xxxAssemblyName
Run Code Online (Sandbox Code Playgroud)
希望对您有所帮助。请让我知道它是否有效。谢谢。