StackoverflowException с xUnit и dotnet CLI — какой тест?

Я использую dotnet для запуска модульных тестов в xUnit.

В одном из моих модульных тестов я получаю Stackoverflow. Как определить, какой модульный тест вызывает это?

Project.json (соответствующие части):

 "dependencies": {
    "NLog": {
      "target": "project"
    },
    "xunit": "2.2.0-beta2-build3300",
    "dotnet-test-xunit": "2.2.0-preview2-build1029"
  },
 "testRunner": "xunit",
  "frameworks": {
        "net451": {
            "dependencies": {
                "Microsoft.NETCore.Platforms": "1.0.1"
            }
        }
  }

Бег:

> dotnet test

Текущий результат:

xUnit.net .NET CLI test runner (64-bit Desktop .NET win81-x64)
  Discovering: NLog.UnitTests
  Discovered:  NLog.UnitTests
  Starting:    NLog.UnitTests

Process is terminated due to StackOverflowException.
SUMMARY: Total: 1 targets, Passed: 0, Failed: 1.

Я использую xUnit для запуска модульных тестов в .NET Core и .NET 4.5.1 (в настоящее время в примере используется только .NET 4.5.1)

PS: dotnet test --verbose не существует


person Julian    schedule 03.11.2016    source источник


Ответы (1)


Нашел это, запустив тест в Visual Studio. Графический интерфейс дает понять, какой тест вызвал проблему.

person Julian    schedule 14.02.2017
comment
В VS2019 v16.10 это не очень очевидно - когда вы запускаете большой прогон и один из тестов завершается с ошибкой из-за переполнения стека, все они будут отображаться как устаревшие или не запущенные (что явно неправильно...) - так что вам нужно нажимать на каждый устаревший / не запущенный тест, пока вы не увидите, какой из них не прошел, тьфу, или копаться в окне вывода тестов. - person Dai; 01.07.2021