2016-10-28 3 views
1

Я пишу веб-приложение ASP.NET Core, и моя цель - непрерывная интеграция и непрерывная доставка Azure с помощью Visual Studio Team Services (VSTS). Я дошел до того, что базовое приложение HelloWorld создает и развертывает и запускается.Какой тестовый бегун работает с VSTS и ASP.NET Core?

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

Мне не нужна перекрестная платформа, и у меня есть предыдущий опыт работы с MSTest, так что это был мой первый порт захода. Однако какое-то первоначальное исследование показывает, что это не так просто, как добавление проекта MSTest и от вас. В частности, с сборкой VSTS.

Таким образом, вопрос, что является наименее болезненным способом получения тестовой основы на месте и CD в лазури ...

  • MSTest
  • XUnit
  • Другое?

Просто повторить ... Я хочу, чтобы тесты выполнялись против моего веб-приложения ASP.NET Core на сервере сборки VSTS как часть моего CI. Кто-нибудь успешно сделал это с одной из вышеперечисленных структур без слишком большого количества головных болей?

ответ

2

xUnit работает очень хорошо, я использовал его с net452 мишенью, потому что, когда я впервые начал, netcoreapp1.0 еще не был поддержан, хотя он должен работать до сих пор.

тестового проект project.json:

{ 
    "version": "1.0.0-*", 
    "testRunner": "xunit", 
    "description": "MyApplication.Web.Tests Class Library", 
    "buildOptions": { 
    "preserveCompilationContext": true, 
    "copyToOutput": { 
     "include": [ ] 
    } 
    }, 
    "packOptions": { 
    "tags": [ "" ], 
    "projectUrl": "", 
    "licenseUrl": "" 
    }, 

    "dependencies": { 
    "My.Application.Web": "1.0.0-*", 
    "dotnet-test-xunit": "2.2.0-preview2-build1029", 
    "Microsoft.NETCore.Platforms": "1.0.1", 
    "xunit": "2.2.0-beta2-build3300", 
    "Xunit2Should": "5.0.0", 
    "Xunit2ShouldXml": "5.0.0" 
    }, 
    "frameworks": { 
    "net46": { 
     "dependencies": { 
     "Moq": "4.2.1510.2205" 
     } 
    } 
    } 
} 

тестирование работает как в VS 2015 и через командную строку с dotnet test (формой папки тестового проекта). Эта документация Getting started with xUnit.net (.NET Core/ASP.NET Core) может помочь вам в деталях, и вы всегда можете найти правильную версию xunit для проверки .NET/.NET Core.

+0

Благодарим за ответ. Получили ли вы работу с сборкой VSTS? – Paul

+0

Честно говоря, я еще не пробовал, но поскольку в командной строке нет никаких предварительных условий для установки/выгрузки, отличных от dotnet cli tools, runner и т. Д., Поступает из nuget. Я только настраивал его один раз на VSTS после этого gudie http://www.visualstudio.com/en-us/docs/build/apps/aspnet/aspnetcore-to-azure. Но добавление другой командной строки для запуска тестов должно быть большой проблемой, хотя – Tseng

1

Вы также можете использовать MSTest TestFramework. Вот некоторые указатели: https://blogs.msdn.microsoft.com/visualstudioalm/2016/05/30/announcing-mstest-framework-support-for-net-core-rc2-asp-net-core-rc2/ С тех пор было несколько релизов MSTest и вы можете прочитать о них здесь: https://blogs.msdn.microsoft.com/visualstudioalm/2016/09/01/announcing-mstest-v2-framework-support-for-net-core-1-0-rtm/

1

В дополнении к ответу Цзэ я написал сообщение в блоге пару месяцев назад что позволяет запускать/импортировать/присоединять результаты тестов к сборке. Это было написано в то время, когда команда все еще была dnx, но адаптировав ее, я уверен, что вы можете заставить ее работать правильно, как я.
blog post on how to setup xunit/donetcore/vsts together for unit testing

Смежные вопросы