В этой главе мы обсудим, как запускать тесты в Visual Studio. .NET Core был разработан с учетом тестируемости, поэтому создание модульных тестов для ваших приложений стало проще, чем когда-либо прежде. В этой главе мы запустим и выполним наш тестовый проект в Visual Studio.
Давайте откроем решение FirstApp в Visual Studio.
Вы можете видеть, что у него есть только два проекта, и вы не сможете увидеть тестовый проект, потому что мы не добавили этот проект в наше решение.
Давайте сначала добавим папку и назовем ее тестовой .
Щелкните правой кнопкой мыши на тестовой папке.
Выберите файл project.json и нажмите « Открыть» .
На следующем снимке экрана показан код в файле Tests.cs в качестве вывода.
Это реализация по умолчанию, и она просто проверяет, что True равен true. Это среда тестирования xUnit, и вы увидите атрибут Fact, который аннотирует и обозначает метод теста.
using System; using Xunit; namespace Tests { public class Tests { [Fact] public void Test1() { Assert.True(true); } } }
Ниже приведена реализация файла project.json .
{ "version": "1.0.0-*", "buildOptions": { "debugType": "portable" }, "dependencies": { "System.Runtime.Serialization.Primitives": "4.1.1", "xunit": "2.1.0", "dotnet-test-xunit": "1.0.0-rc2-192208-24" }, "testRunner": "xunit", "frameworks": { "netcoreapp1.0": { "dependencies": { "Microsoft.NETCore.App": { "type": "platform", "version": "1.0.1" } }, "imports": [ "dotnet5.4", "portable-net451+win8" ] } } }
В файле project.json наиболее важной зависимостью от среды тестирования является xunit, который содержит атрибут Fact. Он включает в себя среду тестирования и API для тестирования с помощью xunit.
У нас также есть dotnet-test-xunit , он адаптирован для того , чтобы xunit мог работать с .NET Core, особенно с утилитой командной строки для тестирования dotnet . Затем вы увидите testRunner, который запустит xunit, и вы также увидите среду netcoreapp1.0 .
Вы увидите зависимость .NETCore.App ниже.
Чтобы запустить тестирование в Visual Studio, давайте откроем Test Explorer из пункта меню Test → Window → Test Explorer .
И вы можете видеть, что Visual Studio автоматически обнаруживает тест. Имя теста состоит из namespace.className.TestMethodName . Теперь давайте нажмем кнопку « Запустить все» в Test Explorer .
Сначала он создаст код и запустит тест, и вы увидите общее время, затраченное на тест. Давайте изменим метод теста, чтобы мы могли видеть результат, когда тест не пройден.
using System; using Xunit; namespace Tests { public class Tests { [Fact] public void Test1() { Assert.True(false); } } }
Давайте выполним тест еще раз, нажав на ссылку Run All .
Теперь вы можете увидеть провал теста .