Жанры книг
Мы в соц.сетях
ParaKnig📚 » Компьютеры и Интернет » Базы данных » Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
<< На главную

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

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

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 452 453 454 455 456 457 458 459 460 ... 642
Перейти на страницу:

namespace AutoLot.Dal.Tests.IntegrationTests

{

  [Collection(&quot;Integation Tests&quot;)]

  public class CarTests : BaseTest,

    IClassFixture&lt;EnsureAutoLotDatabaseTestFixture&gt;

  {

(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})

  }

}

// CustomerTests.cs

using System.Collections.Generic;

using System;

using System.Linq;

using System.Linq.Expressions;

using AutoLot.Dal.Tests.Base;

using AutoLot.Models.Entities;

using Microsoft.EntityFrameworkCore;

using Xunit;

namespace AutoLot.Dal.Tests.IntegrationTests

{

  [Collection(&quot;Integation Tests&quot;)]

  public class CustomerTests : BaseTest,

    IClassFixture&lt;EnsureAutoLotDatabaseTestFixture&gt;

  {

(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})

  }

}

// MakeTests.cs

using System.Linq;

using AutoLot.Dal.Repos;

using AutoLot.Dal.Repos.Interfaces;

using AutoLot.Dal.Tests.Base;

using AutoLot.Models.Entities;

using Microsoft.EntityFrameworkCore;

using Microsoft.EntityFrameworkCore.ChangeTracking;

using Xunit;

namespace AutoLot.Dal.Tests.IntegrationTests

{

  [Collection(&quot;Integation Tests&quot;)]

  public class MakeTests : BaseTest,

    IClassFixture&lt;EnsureAutoLotDatabaseTestFixture&gt;

  {

(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})

  }

}

// OrderTests.cs

using System.Linq;

using AutoLot.Dal.Repos;

using AutoLot.Dal.Repos.Interfaces;

using AutoLot.Dal.Tests.Base;

using Microsoft.EntityFrameworkCore;

using Xunit;

namespace AutoLot.Dal.Tests.IntegrationTests

{

  [Collection(&quot;Integation Tests&quot;)]

  public class OrderTests : BaseTest,

    IClassFixture&lt;EnsureAutoLotDatabaseTestFixture&gt;

  {

(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})

  }

}

Добавьте в класс MakeTests конструктор, который создает экземпляр MakeRepo и присваивает его закрытой переменной readonly уровня класса. Переопределите метод Dispose() и освободите в нем экземпляр MakeRepo:

[Collection(&quot;Integration Tests&quot;)]

public class MakeTests : BaseTest,

  IClassFixture&lt;EnsureAutoLotDatabaseTestFixture&gt;

{

  private readonly IMakeRepo _repo;

  public MakeTests()

  {

(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})

    _repo = new MakeRepo(Context);

  }

  public override void Dispose()

  {

(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})

    _repo.Dispose();

  }

  ...

}

Повторите те же действия для класса OrderTests, но с использованием OrderRepo вместо MakeRepo:

[Collection(&quot;Integration Tests&quot;)]

public class OrderTests : BaseTest,

  IClassFixture&lt;EnsureAutoLotDatabaseTestFixture&gt;

{

  private readonly IOrderRepo _repo;

  public OrderTests()

  {

(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})

    _repo = new OrderRepo(Context);

  }

  public override void Dispose()

  {

(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})

    _repo.Dispose();

  }

  ...

}

Тестовые методы [Fact] и [Theory]

Тестовые методы без параметров называются фактами (и задействуют атрибут [Fact]). Тестовые методы, которые принимают параметры, называются теориями (они используют атрибут [Theory]) и могут выполнять множество итераций с разными значениями, передаваемыми в качестве параметров. Чтобы взглянуть на такие виды тестов, создайте в проекте AutoLot.Dal.Tests новый файл класса по имени SampleTests.cs. Вот как выглядит оператор using:

using Xunit;

1 ... 452 453 454 455 456 457 458 459 460 ... 642
Перейти на страницу:
На этой странице вы можете бесплатно читать книгу Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю бесплатно.
Комментарии
Открыть боковую панель
Комментарии
Лариса
Лариса 11.03.2026 - 20:17
Странно,здесь имя девочки Аграфена,а на других сайтах я прослушала три книги этого цикла с именем Дарвина.Зачем менять имя и путать читателей? Опечатка- не Дарвина,  а  Дарина.
Григорий
Григорий 09.04.2025 - 22:24
Лучшая книга всех времен
Женя
Женя 02.04.2025 - 16:08
Любимая книга