.NET Core - выполнение тестов в Visual Studio

В этой главе мы обсудим, как запускать тесты в Visual Studio. .NET Core был разработан с учетом возможности тестирования, поэтому создание модульных тестов для ваших приложений стало проще, чем когда-либо прежде. В этой главе мы запустим и выполним наш тестовый проект в Visual Studio.

Давайте откроем решение FirstApp в Visual Studio.

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

Давайте сначала добавим папку и назовем ее test.

Щелкните правой кнопкой мыши test папка.

Выбрать project.json файл и щелкните Open.

На следующем снимке экрана показан код в 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 testутилита командной строки. Тогда вы увидитеtestRunner который запустит xunit, и вы также можете увидеть netcoreapp1.0 фреймворк.

Ниже вы увидите зависимость .NETCore.App.

Чтобы запустить тест в Visual Studio, давайте откроем обозреватель тестов из Test → Window → Test Explorer пункт меню.

И вы можете видеть, что Visual Studio автоматически обнаруживает тест. Название теста состоит изnamespace.className.TestMethodName. Давайте теперь нажмем наRun All button in Test Explorer.

Сначала он соберет код и запустит тест, и вы увидите общее время, затраченное на выполнение теста. Давайте изменим метод тестирования, чтобы мы могли видеть результат, когда тест не удался.

using System; 
using Xunit; 
  
namespace Tests { 
   public class Tests { 
      [Fact] 
      public void Test1() { 
         Assert.True(false); 
      } 
   } 
}

Давайте снова выполним тест, нажав на Run All кнопка ссылка.

Теперь вы можете увидеть test неудача.