Reo.Core.TestCaseCollector
10.0.30
See the version list below for details.
dotnet add package Reo.Core.TestCaseCollector --version 10.0.30
NuGet\Install-Package Reo.Core.TestCaseCollector -Version 10.0.30
<PackageReference Include="Reo.Core.TestCaseCollector" Version="10.0.30" />
<PackageVersion Include="Reo.Core.TestCaseCollector" Version="10.0.30" />
<PackageReference Include="Reo.Core.TestCaseCollector" />
paket add Reo.Core.TestCaseCollector --version 10.0.30
#r "nuget: Reo.Core.TestCaseCollector, 10.0.30"
#:package Reo.Core.TestCaseCollector@10.0.30
#addin nuget:?package=Reo.Core.TestCaseCollector&version=10.0.30
#tool nuget:?package=Reo.Core.TestCaseCollector&version=10.0.30
Reo.Core.TestCaseCollector
Описание пакета
Reo.Core.TestCaseCollector — это библиотека для сбора, хранения и управления диагностическими данными, генерируемыми в процессе выполнения тестовых сценариев. Пакет позволяет:
- Собирать информацию о вызовах методов (аргументы, возвращаемые значения, исключения, время выполнения).
- Сохранять данные в NoSQL-хранилище (например, MongoDB) для последующего анализа.
- Управлять хэшами вызовов для отслеживания уникальности тестовых случаев.
Идеально подходит для интеграции в системы автоматизации тестирования, где требуется детальный мониторинг и архивирование результатов тестирования.
Основные компоненты
1. MethodInvocationData
Хранит данные о вызове метода: возвращаемое значение, исключение, время выполнения, слепки состояний объекта до и после вызова.
2. MethodArgument
Класс для представления аргументов метода: имя, тип, значение.
3. MongoTestCaseEntity
Сущность MongoDB для хранения информации о вызове метода. Использует MethodInvocationData в качестве основного поля.
4. MongoHashEntity
Сущность MongoDB для хранения хэшей вызовов методов.
5. TestEntityInfo
Позволяет получить информацию о тестируемой сущности (название, ключ для хэшей).
Требования
- .NET версии: 8.0, 9.0.
- Зависимости:
Reo.Core.MongoDB.Models(для работы с MongoDB).System.Collections.Generic,System.Linq,System.Threading.Tasks(встроенные библиотеки .NET).
Установка
Используйте следующие команды для установки пакета:
# NuGet Package Manager
Install-Package Reo.Core.TestCaseCollector
# .NET CLI
dotnet add package Reo.Core.TestCaseCollector
Настройка
Регистрация в DI-контейнере (ASP.NET Core)
Добавьте сервисы в Startup.cs или Program.cs:
services.AddSingleton<IMongoDatabase>(...); // Настройка подключения к MongoDB
services.AddScoped<ITestCaseCollector, TestCaseCollector>(); // Регистрация коллектора
Конфигурационные параметры
- MongoDB connection string — указывается в
appsettings.jsonили через DI. - TestEntityName — имя тестируемой сущности (настраивается через
TestEntityInfo).
Использование
Пример 1: Сбор данных о вызове метода
var collector = new TestCaseCollector();
// Симуляция вызова метода
var diagnosticData = new InvocationDiagnosticData<string>
{
Result = "Success",
Exception = null,
Stopwatch = new Stopwatch { Elapsed = TimeSpan.FromMilliseconds(150) },
BeforeInvocation = new InvocationSnapshot { ... },
AfterInvocation = new InvocationSnapshot { ... }
};
// Сохранение данных
collector.Save(diagnosticData);
Пример 2: Хэширование вызова
var testEntityInfo = new TestEntityInfo("MyTestClass");
var hash = testEntityInfo.GetHashesKey(); // Получение ключа для хэшей
// Сохранение хэша в MongoDB
var hashEntity = new MongoHashEntity { Hash = "abc123" };
hashEntity.Save();
Лицензия
MIT License
© 2025 Reo.Core.
См. файл LICENSE для деталей.
Дополнительные сведения
- Интеграция с MongoDB: Используйте
MongoTestCaseEntityиMongoHashEntityдля хранения данных. - Диагностическая информация: Класс
InvocationDiagnosticData<TReturn>позволяет отслеживать результаты и ошибки. - Расширяемость: Добавьте кастомные обработчики для анализа хэшей или фильтрации тестовых случаев.
Разработано с использованием .NET 8.0 и 9.0.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- AspNetCore.HealthChecks.MongoDb (>= 9.0.0)
- AspNetCore.HealthChecks.Redis (>= 9.0.0)
- AspNetCore.HealthChecks.UI.Client (>= 9.0.0)
- FluentValidation (>= 12.1.1)
- FluentValidation.AspNetCore (>= 11.3.1)
- Flurl (>= 4.0.0)
- Flurl.Http (>= 4.0.2)
- JetBrains.Annotations (>= 2025.2.4)
- LinqKit.Core (>= 1.2.9)
- Microsoft.AspNetCore.Mvc.NewtonsoftJson (>= 10.0.2)
- Microsoft.Bcl.AsyncInterfaces (>= 10.0.2)
- Microsoft.Extensions.Caching.Abstractions (>= 10.0.2)
- Microsoft.Extensions.Caching.StackExchangeRedis (>= 10.0.2)
- Microsoft.Extensions.Configuration (>= 10.0.2)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.2)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.2)
- Microsoft.Extensions.DependencyInjection (>= 10.0.2)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.2)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.2)
- Microsoft.Extensions.Http.Polly (>= 10.0.2)
- Microsoft.Extensions.Logging (>= 10.0.2)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.2)
- Microsoft.Extensions.Options (>= 10.0.2)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.2)
- MongoDB.Analyzer (>= 2.0.0)
- MongoDB.Driver (>= 3.6.0)
- NEST (>= 7.17.5)
- Newtonsoft.Json (>= 13.0.4)
- Polly (>= 8.5.0)
- RedLock.net (>= 2.3.2)
- Reo.Core.MongoDB (>= 10.0.30)
- stbychkov.AutoLoggerMessage (>= 1.0.15)
- Swashbuckle.AspNetCore (>= 10.1.2)
- System.ComponentModel.Annotations (>= 5.0.0)
- System.Linq.Async (>= 7.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 10.0.33 | 0 | 2/13/2026 |
| 10.0.32 | 0 | 2/13/2026 |
| 10.0.31 | 7 | 2/13/2026 |
| 10.0.30 | 32 | 2/12/2026 |
| 10.0.29 | 28 | 2/12/2026 |
| 10.0.28 | 32 | 2/11/2026 |
| 10.0.27 | 32 | 2/11/2026 |
| 10.0.26 | 78 | 2/9/2026 |
| 10.0.25 | 77 | 2/9/2026 |
| 10.0.24 | 77 | 2/9/2026 |
| 10.0.23 | 78 | 2/9/2026 |
| 10.0.22 | 79 | 2/9/2026 |
| 10.0.21 | 78 | 2/9/2026 |
| 10.0.20 | 77 | 2/9/2026 |
| 10.0.15 | 84 | 2/6/2026 |
| 10.0.14 | 80 | 2/6/2026 |
| 10.0.13 | 87 | 2/4/2026 |
| 10.0.12 | 85 | 2/3/2026 |
| 10.0.11 | 85 | 2/2/2026 |
| 10.0.10 | 82 | 1/29/2026 |