Mir-knigi.info
mir-knigi.info » Книги » Компьютеры и интернет » Базы данных » Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

Тут можно читать бесплатно Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю. Жанр: Базы данных. Так же Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте mir-knigi.info (Mir knigi) или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Перейти на страницу:

public static void InitializeData(ApplicationDbContext context)

{

  DropAndCreateDatabase(context);

  SeedData(context);

}

public static void ClearAndReseedDatabase(ApplicationDbContext context)

{

  ClearData(context);

  SeedData(context);

}

Настройка тестов

 Вместо создания клиентского приложения для испытания скомпилированного уровня доступа к данным

AutoLot
будет применяться автоматизированное интеграционное тестирование. Тесты продемонстрируют обращение к базе данных на предмет создания, чтения, обновления и удаления, что позволит исследовать код без накладных расходов по построению еще одного приложения. Каждый тест, рассматриваемый в этом разделе, будет выполнять запрос (создание, чтение, обновление или удаление) и иметь один и более операторов
Assert
для проверки, получен ли ожидаемый результат.

Создание проекта

Первым делом необходимо настроить платформу интеграционного тестирования с использованием xUnit — инфраструктуры тестирования, совместимой с .NET Core. Начните с добавления нового  по имени

AutoLot.Dal.Tests
, который в Visual Studio носит название xUnit Test Project (.NET Core) (Проект тестирования xUnit (.NET Core)).

На заметку! Модульные тесты предназначены для тестирования одной единицы кода. Формально повсюду в главе создаются интеграционные тесты, т.к. производится тестирование кода C# и EF Core на всем пути к базе данных и обратно.

Введите следующую команду в окне командной строки:

dotnet new xunit -lang c# -n AutoLot.Dal.Tests -o .AutoLot.Dal.Tests -f net5.0

dotnet sln .Chapter23_AllProjects.sln add AutoLot.Dal.Tests

Добавьте в проект

AutoLot.Dal.Tests
перечисленные ниже пакеты NuGet:

Microsoft.EntityFrameworkCore

Microsoft.EntityFrameworkCore.SqlServer

Microsoft.Extensions.Configuration.Json

Поскольку версия пакета Microsoft.NET.Test.Sdk, поставляемая с шаблоном проектов xUnit, обычно отстает от текущей доступной версии, воспользуйтесь диспетчером пакетов NuGet для обновления всех пакетов NuGet. Затем добавьте ссылки на проекты

AutoLot.Models
и
AutoLot.Dal
.

В случае работы с CLI выполните приведенные далее команды(обратите внимание, что команды удаляют и повторно добавляют пакет

Microsoft.NET.Test.Sdk
, чтобы гарантировать ссылку на самую последнюю версию):

dotnet add AutoLot.Dal.Tests package Microsoft.EntityFrameworkCore

dotnet add AutoLot.Dal.Tests package Microsoft.EntityFrameworkCore.SqlServer

dotnet add AutoLot.Dal.Tests package Microsoft.Extensions.Configuration.Json

dotnet remove AutoLot.Dal.Tests package Microsoft.NET.Test.Sdk

dotnet add AutoLot.Dal.Tests package Microsoft.NET.Test.Sdk

dotnet add AutoLot.Dal.Tests reference AutoLot.Dal

dotnet add AutoLot.Dal.Tests reference AutoLot.Models

Конфигурирование проекта

Для извлечения строки подключения во время выполнения будут задействованы конфигурационные возможности .NET Core, предусматривающие работу с файлом JSON. Добавьте в проект файл JSON по имени

appsettings.json
и поместите в него информацию о своей строке подключения в следующем формате (надлежащим образом скорректировав ее):

{

  "ConnectionStrings": {

    "AutoLot": "server=.,5433;Database=AutoLotFinal;

    User Id=sa;Password=P@ssw0rd;"

  }

}

Модифицируйте файл проекта, чтобы файл

appsettings.json
копировался в выходной каталог при каждой компиляции проекта, для чего добавьте в файл
AutoLot.Dal.Tests.csproj
такой элемент
ItemGroup
:

<ItemGroup>

  <None Update="appsettings.json">

    <CopyToOutputDirectory>Always</CopyToOutputDirectory>

  </None>

</ItemGroup>

Создание класса TestHelpers

Класс

TestHelpers
будет обрабатывать конфигурацию приложения, а также создавать новый экземпляр
ApplicationDbContext
. Создайте в корневом каталоге проекта новый файл открытого статического класса по имени
TestHelpers.cs
. Приведите операторы
using
к следующему виду:

using System.IO;

using AutoLot.Dal.EfStructures;

using Microsoft.EntityFrameworkCore;

using Microsoft.EntityFrameworkCore.Storage;

using Microsoft.Extensions.Configuration;

namespace AutoLot.Dal.Tests

{

  public static class TestHelpers

  {

  }

}

Определите два открытых статических метода, предназначенные для создания экземпляров реализации

IConfiguration
и класса
ApplicationDbContext
. Добавьте в класс показанный ниже код:

public static IConfiguration GetConfiguration() =>

Перейти на страницу:

Троелсен Эндрю читать все книги автора по порядку

Троелсен Эндрю - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки mir-knigi.info.


Язык программирования C#9 и платформа .NET5 отзывы

Отзывы читателей о книге Язык программирования C#9 и платформа .NET5, автор: Троелсен Эндрю. Читайте комментарии и мнения людей о произведении.


Уважаемые читатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.

  • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
  • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
  • 3. Просьба отказаться от нецензурной лексики.
  • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

Надеемся на Ваше понимание и благоразумие. С уважением, администратор mir-knigi.info.


Прокомментировать
Подтвердите что вы не робот:*