在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 Code Online (Sandbox Code Playgroud) 我有以下先决条件:
dnx version 1.0.0-beta5project.json 在单元测试项目中
"frameworks": {
"dnx451": {
"dependencies": {
"xunit": "2.1.0-beta3-*",
"xunit.runner.dnx": "2.1.0-beta3-*",
"xunit.abstractions": "2.0.0",
"Moq": "4.2.1507.118",
}
}
},
"commands": {
"test": "xunit.runner.dnx -xml TestResults.xml"
},
Run Code Online (Sandbox Code Playgroud)当我在Visual Studio中运行测试时,会创建一个新文件TestResults.xml,但它是空的,除了:
<?xml version="1.0" encoding="utf-8"?>
<assemblies>
<assembly />
</assemblies>
Run Code Online (Sandbox Code Playgroud)
当我dnx . test -xml TestResults.xml从cmd 运行命令时,我得到带有结果的XML文件.如果从Visual Studio运行测试,我该怎么做才能获得相同的结果?