Skip to content

dotnet test output text should make finding output for failed tests easy to find #255

@TheRealPiotrP

Description

@TheRealPiotrP

Consider the following output of a dotnet test run:

  Failed   Microsoft.DotNet.Migration.Tests.GivenThatIWantToMigrateTestApps.It_migrates_project_with_output_name
  Results File: /Users/piotrp/code/github/piotrpMSFT/cli/test/dotnet-migrate.Tests/TestResults/_MacBook-Pro 2016-12-01 09:48:50.trx

  Total tests: 39. Passed: 33. Failed: 4. Skipped: 2.
  Test Run Failed.
  Test execution time: 3.2145 Minutes

The output is challenging to work with for a few reasons:

What Failed?

The line describing a failed test is Failed Microsoft.DotNet.Migration.Tests.GivenThatIWantToMigrateTestApps.It_migrates_project_with_output_name. When searching through a build log, there is not a string I can use which will uniquely identify these lines. xunit used [Failed] which is fairly unique. Some similar delimiters that are persistent and identify failed tests would be very useful.

Summary

The summary works well when test projects are running one at a time. When executing tests in parallel, it becomes difficult to see what test project the summary is for. A proposal:

 Test Run Summary
 -------------------
 Test Project: /path/to/some/test.csproj
 Results File: /path/to/some/results.trx
  
 Total tests: 39. Passed: 33. Failed: 4. Skipped: 2.
 Failed Tests:
   [Failed] My.Namespace.TestClass.Test1(some theory args)
   [Failed] My.Namespace.TestClass.Test2(some theory args)
   [Failed] My.Namespace.TestClass.Test3(some theory args)
   [Failed] My.Namespace.TestClass.Test4(some theory args)

 Test Run Failed.
 Test execution time: 3.2145 Minutes

/cc @livarcocc @blackdwarf

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions