Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

244
Views
xUnit doesn't write message to the output pane

In Visual Studio 2015 Community I have a sample ASP.NET 5 (vNext) project and a project with unit tests (xUnit.net). The version of DNX is 1.0.0-beta5. My goal is to add messages during the test run to the output pane. Here I took a way to do this, so my unit test code looks like this:

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);
        }

    }
}

Visual Studio Test Explorer discovers this test (and that's OK), but all I have in the Output pane (from Tests) is:

------ 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) ==========

Also, there is not any link "Output" under the selected test run information, like here: Enter image description here (Only "Test passed... Elapsed time ...")

What should I do to make this ITestOutputHelper work?

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

This solution works for me (Visual Studio 2017 and xUnit 2.2.0.3545).

Try adding the below configuration in the App.Config file. (I don't know why. It was just needed. If it doesn't exist, just add a new one in your test project.)

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="xunit.diagnosticMessages" value="true"/>
  </appSettings>
</configuration>

The output information will be written in Test output as expected like below.

[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
over 4 years ago · Santiago Trujillo Report

0

As explained on the xUnit GitHub page, I used

private readonly ITestOutputHelper output;

And this worked to me.

over 4 years ago · Santiago Trujillo Report

0

I also ran into this the first time I used xUnit after using NUnit for a long time.

Surprisingly, xUnit does not support console output directly, but does offer some other ways to achieve the same thing.

https://xunit.github.io/docs/capturing-output.html

If you aren't really invested in xUnit I would say the simplest thing to do would just use NUnit or MSTest because both support simple console.writeline.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!