xUnit.net v2 не обнаруживает основные тесты.NET в Visual Studio 2015

Я действительно разочарован этой проблемой. Я уже пытался изменить номера версий, но в проводнике тестов тесты не отображаются.

В окне теста вывода я вижу этот вывод

Starting Microsoft.Framework.TestHost [C:\Users\sul\.dnx\runtimes\dnx-clr-win-x86.1.0.0-beta4\bin\dnx.exe --appbase "path to test project" Microsoft.Framework.ApplicationHost --port 63938 Microsoft.Framework.TestHost --port 63954 list ]
Unable to start Microsoft.Framework.TestHost
========== Discover test finished: 0 found (0:00:36.5471185) ==========

Это так хрупко, иногда показываются тесты, потом они исчезают навсегда. Перезапуск VS не помог, переустановка бегуна xunit/xunit тоже не помогла.

В другом тестовом проекте я получил другой вывод, но тесты все еще не показывают

Starting Microsoft.Framework.TestHost [C:\Users\sul\.dnx\runtimes\dnx-clr-win-x86.1.0.0-beta4\bin\dnx.exe --appbase "path to project" Microsoft.Framework.ApplicationHost --port 63938 Microsoft.Framework.TestHost --port 64421 list ]
Connected to Microsoft.Framework.TestHost
Discovering tests in 'path to project\project.json'
========== Discover test finished: 0 found (0:00:35.9341416) ==========

Это часть моего проекта. Json

"commands": {
    "test": "xunit.runner.dnx"
  },
  "dependencies": {
    "Microsoft.AspNet.Http": "1.0.0-*",    
    "Microsoft.AspNet.Http.Core": "1.0.0-*",
    "Microsoft.AspNet.TestHost": "1.0.0-*",    
    "Moq": "4.2.1502.911",    
    "xunit": "2.0.0",
    "xunit.runners": "2.0.0"

5 ответов

Решение

Мне удалось заставить это работать, убедившись, что все пакеты во всех проектах решения ссылаются на одну и ту же версию.

Это случилось со мной, потому что я ссылался на последние версии, как вы можете видеть из project.json.

Еще одна вещь, которую я сделал, никогда не ссылается на отдельные пакеты, которые соответствуют только цели. Например, в моем бизнес-проекте я создаю промежуточное программное обеспечение и ссылаюсь на Microsoft.AspNet.Http, потому что мне не нужен полный пакет MVC. Это вызвало проблемы в тестовом проекте, поэтому я добавил Microsoft.AspNet.MVC в любой проект, который требует какого-либо взаимодействия Http, например httpcontext.

Возможно, это не идеальное решение, но оно сработало для меня. Я надеюсь, что это помогает кому-то другому, испытывающему ту же проблему.

У меня только что были некоторые проблемы с этим при использовании TFS. Настроил его и заставил работать на одной машине, перешел на другую, получил последний код после проверки моих изменений, все показывалось правильно, но бегущий тест вообще не нашел никаких тестов. В конце концов, простая очистка и повторная сборка проекта Test исправили его, и теперь он находит тесты.

Это мой проект. Json

"dependencies": { "Xunit": "2.1.0-beta2-*", "Xunit.runner.dnx": "2.1.0-beta2-*" }, "commands": { "test": "xunit.runner.dnx" },

Обратите внимание на заглавную букву X в Xunit, указанную в зависимостях. Официальная документация списки в нижнем регистре х, но это не работает. Я написал владельцу репо по электронной почте, чтобы он знал об этом.

РЕДАКТИРОВАТЬ: Я говорил с автором XUnit, который уверяет меня, что строчная буква x работает для него и других, и что это потенциально поврежденный кеш пакета.

У меня были некоторые проблемы, но все заработало!

"dependencies": {
    "Test.ANNe.Compiler": "1.0.0-*",
    "xunit.runner.dnx": "2.1.0-beta2-build79"
},

"commands": {
    "Test.Console": "Test.Console",
    "test": "xunit.runner.dnx"
},

3 вопроса у меня были. 1. Вы можете иметь только 1 бегуна! 2. Проверьте в команде 3. Убедитесь, что среда компиляции соответствует настройке среды в dnvm

Я отмечаю, что вы используете dnx-clr-win-x86.1.0.0, который является dnx, но не бегуном dnx.

Обнаружил похожие проблемы, и переход с xunit 2.0.0-rc1 на 2.0.0-beta8 устранил проблему.

Подробности:

  • Проект A (более старая версия Microsoft.AspNet.Authentication.Test) работал
  • Проект B (мой пользовательский проект) не работал

Настройка проекта B для использования:

"xunit.runner.aspnet": "2.0.0-aspnet-beta8*"

Вместо:

"xunit.runner.aspnet": "2.0.0-aspnet-*"

Исправлена ​​проблема. Проект Б набирал:

xunit.runner.aspnet (2.0.0-aspnet-rc1-15669)

Проект A использовал следующий файл project.json:

{
    "compilationOptions": {
        "warningsAsErrors": "true"
    },
    "dependencies": {
        "Microsoft.AspNet.Authentication.Cookies": "1.0.0-*",
        "Microsoft.AspNet.Authentication.Facebook": "1.0.0-*",
        "Microsoft.AspNet.Authentication.Google": "1.0.0-*",
        "Microsoft.AspNet.Authentication.MicrosoftAccount": "1.0.0-*",
        "Microsoft.AspNet.Authentication.OAuthBearer": "1.0.0-*",
        "Microsoft.AspNet.Authentication.OpenIdConnect": "1.0.0-*",
        "Microsoft.AspNet.Authentication.Twitter": "1.0.0-*",
        "Microsoft.AspNet.DataProtection": "1.0.0-*",
        "Microsoft.AspNet.TestHost": "1.0.0-*",
        "Moq": "4.2.1312.1622",
        "xunit.runner.aspnet": "2.0.0-aspnet-*"
    },
    "commands": {
        "test": "xunit.runner.aspnet"
    },
    "frameworks": {
        "dnx451": {
            "dependencies": {
                "Shouldly": "1.1.1.1"
            }
        }
    }
}

Проект Б использовал:

{
    "dependencies": {
        "Microsoft.AspNet.Authentication": "1.0.0-*",
        "Microsoft.AspNet.Authentication.OAuth": "1.0.0-*",
        "Microsoft.AspNet.Authentication.Cookies": "1.0.0-*",
        "Microsoft.Framework.DependencyInjection": "1.0.0-*",
        "Microsoft.AspNet.TestHost": "1.0.0-*",
        "Moq": "4.2.1312.1622",
        "xunit.runner.aspnet": "2.0.0-aspnet-*"
    },
    "commands": {
        "test": "xunit.runner.aspnet"
    },
    "frameworks": {
        "dnx451": {
            "dependencies": {
                "Shouldly": "1.1.1.1"
            }
        }
    }
}

Следующие зависимости (должны быть предоставлены в project.json) работали для меня ( первоисточник):

"dependencies": {
    "System.Collections": "4.0.10-beta-23019",
    "System.Linq": "4.0.0-beta-23019",
    "System.Threading": "4.0.10-beta-23019",
    "System.Runtime": "4.0.10-beta-23019",
    "Microsoft.CSharp": "4.0.0-beta-23019",

    "xunit": "2.1.0-*",
    "xunit.runner.dnx": "2.1.0-*",
    "xunit.runner.visualstudio": "2.0.1",
    "Microsoft.Framework.TestHost": "1.0.0-*",
    "Microsoft.Framework.ApplicationHost": "1.0.0-*"
}
Другие вопросы по тегам