![]() |
VOOZH | about |
dotnet add package Reo.Core.IntegrationTesting --version 10.0.210
NuGet\Install-Package Reo.Core.IntegrationTesting -Version 10.0.210
<PackageReference Include="Reo.Core.IntegrationTesting" Version="10.0.210" />
<PackageVersion Include="Reo.Core.IntegrationTesting" Version="10.0.210" />Directory.Packages.props
<PackageReference Include="Reo.Core.IntegrationTesting" />Project file
paket add Reo.Core.IntegrationTesting --version 10.0.210
#r "nuget: Reo.Core.IntegrationTesting, 10.0.210"
#:package Reo.Core.IntegrationTesting@10.0.210
#addin nuget:?package=Reo.Core.IntegrationTesting&version=10.0.210Install as a Cake Addin
#tool nuget:?package=Reo.Core.IntegrationTesting&version=10.0.210Install as a Cake Tool
Reo.Core.IntegrationTesting — это библиотека для упрощения написания интеграционных тестов в .NET-приложениях. Она предоставляет фикстуры для работы с различными системами (PostgreSQL, Redis, MongoDB, Elasticsearch), автоматизирует настройку и очистку тестовых данных, а также интегрируется с Moq.AutoMock для создания мок-объектов.
Решает следующие проблемы:
Основные функции:
| Компонент | Описание |
|---|---|
PostgresFixture<TDbContext> |
Фикстура для настройки PostgreSQL в тестах. Предоставляет DbContext и обрабатывает инициализацию/очистку БД. |
ElasticFixture |
Фикстура для работы с Elasticsearch. Обеспечивает доступ к клиенту Elasticsearch и настройку индексов. |
RedisFixture |
Фикстура для тестирования Redis. Создаёт и удаляет тестовые ключи в кэше. |
MongoFixture |
Фикстура для MongoDB. Обеспечивает доступ к клиенту MongoDB и управление коллекциями. |
AutoMockerExtensions |
Методы расширения для настройки Moq.AutoMock с фикстурами. |
TestFramework |
Модуль, управляющий жизненным циклом тестовых ресурсов (инициализация, очистка). |
Используйте следующие команды для установки пакета:
NuGet Package Manager:
Install-Package Reo.Core.IntegrationTesting
.NET CLI:
dotnet add package Reo.Core.IntegrationTesting
Добавьте сервисы в Startup.cs или Program.cs:
services.AddIntegrationTestingServices(); // Если есть кастомные настройки
Укажите параметры в appsettings.json или через AddSingleton:
{
"Testcontainers": {
"Postgres": {
"Image": "postgres:15",
"Username": "test",
"Password": "test"
},
"Mongo": {
"Image": "mongo:5.0",
"Username": "test",
"Password": "test"
}
}
}
[Fact]
public async Task TestWithPostgres()
{
// Arrange
var fixture = new PostgresFixture<MyDbContext>();
var dbContext = fixture.CreateContext();
// Act
await dbContext.MyEntities.AddAsync(new MyEntity { Name = "Test" });
await dbContext.SaveChangesAsync();
// Assert
var result = await dbContext.MyEntities.FirstOrDefaultAsync();
Assert.NotNull(result);
Assert.Equal("Test", result.Name);
}
[Fact]
public async Task TestWithElasticsearch()
{
// Arrange
var fixture = new ElasticFixture();
var client = fixture.Client;
// Act
await client.IndexAsync(new { Id = 1, Name = "Test" }, idx => idx.Index("test-index"));
// Assert
var result = await client.SearchAsync<TestDocument>(s => s
.Index("test-index")
.Query(q => q.Match(m => m.Field("name").Query("Test"))));
Assert.Single(result.Documents);
}
var mocker = new AutoMocker();
mocker.SetupPostgres<MyDbContext>(fixture); // Для PostgreSQL
var service = mocker.CreateInstance<MyService>();
service.DoSomething(); // Тест логики, зависящей от БД
Данный пакет распространяется под лицензией MIT.
Разработано с любовью для тестирования сложных систем! 🚀
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 net10.0 is compatible. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 10.0.210 | 0 | 6/18/2026 |
| 10.0.209 | 41 | 6/17/2026 |
| 10.0.208 | 40 | 6/17/2026 |
| 10.0.207 | 39 | 6/17/2026 |
| 10.0.206 | 42 | 6/17/2026 |
| 10.0.205 | 47 | 6/16/2026 |
| 10.0.204 | 42 | 6/16/2026 |
| 10.0.203 | 42 | 6/16/2026 |
| 10.0.202 | 46 | 6/16/2026 |
| 10.0.201 | 43 | 6/16/2026 |
| 10.0.200 | 41 | 6/16/2026 |
| 10.0.199 | 36 | 6/16/2026 |
| 10.0.198 | 37 | 6/16/2026 |
| 10.0.197 | 63 | 6/16/2026 |
| 10.0.196 | 44 | 6/16/2026 |
| 10.0.195 | 51 | 6/15/2026 |
| 10.0.194 | 53 | 6/15/2026 |
| 10.0.193 | 52 | 6/15/2026 |
| 10.0.192 | 75 | 6/11/2026 |
| 10.0.191 | 71 | 6/11/2026 |