Reo.Core.TestCaseCollector
8.0.617
See the version list below for details.
dotnet add package Reo.Core.TestCaseCollector --version 8.0.617
NuGet\Install-Package Reo.Core.TestCaseCollector -Version 8.0.617
<PackageReference Include="Reo.Core.TestCaseCollector" Version="8.0.617" />
<PackageVersion Include="Reo.Core.TestCaseCollector" Version="8.0.617" />
<PackageReference Include="Reo.Core.TestCaseCollector" />
paket add Reo.Core.TestCaseCollector --version 8.0.617
#r "nuget: Reo.Core.TestCaseCollector, 8.0.617"
#:package Reo.Core.TestCaseCollector@8.0.617
#addin nuget:?package=Reo.Core.TestCaseCollector&version=8.0.617
#tool nuget:?package=Reo.Core.TestCaseCollector&version=8.0.617
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 | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. 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. |
-
net8.0
- AspNetCore.HealthChecks.MongoDb (>= 9.0.0)
- AspNetCore.HealthChecks.Redis (>= 8.0.1)
- AspNetCore.HealthChecks.UI.Client (>= 8.0.1)
- AutoMapper (>= 11.0.1 && < 15.0.0)
- FluentValidation (>= 11.11.0)
- FluentValidation.AspNetCore (>= 11.3.1)
- Flurl (>= 4.0.0)
- Flurl.Http (>= 4.0.2)
- JetBrains.Annotations (>= 2025.2.2)
- LinqKit.Core (>= 1.2.8)
- Microsoft.AspNetCore.Mvc.NewtonsoftJson (>= 8.0.20)
- Microsoft.Bcl.AsyncInterfaces (>= 9.0.9)
- Microsoft.CodeAnalysis.Analyzers (>= 3.11.0)
- Microsoft.CodeAnalysis.Common (>= 4.12.0)
- Microsoft.CodeAnalysis.CSharp (>= 4.12.0)
- Microsoft.CSharp (>= 4.7.0)
- Microsoft.EntityFrameworkCore (>= 9.0.9)
- Microsoft.Extensions.Caching.Abstractions (>= 9.0.9)
- Microsoft.Extensions.Caching.Memory (>= 9.0.9)
- Microsoft.Extensions.Caching.StackExchangeRedis (>= 9.0.9)
- Microsoft.Extensions.Configuration (>= 9.0.9)
- Microsoft.Extensions.Configuration.Abstractions (>= 9.0.9)
- Microsoft.Extensions.Configuration.Binder (>= 9.0.9)
- Microsoft.Extensions.DependencyInjection (>= 9.0.9)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 9.0.9)
- Microsoft.Extensions.Hosting.Abstractions (>= 9.0.9)
- Microsoft.Extensions.Http.Polly (>= 9.0.9)
- Microsoft.Extensions.Logging (>= 9.0.9)
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.9)
- Microsoft.Extensions.Options (>= 9.0.9)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 9.0.9)
- MongoDB.Analyzer (>= 2.0.0)
- MongoDB.Driver (>= 3.5.0)
- NEST (>= 7.17.5)
- Newtonsoft.Json (>= 13.0.4)
- Polly (>= 8.5.0)
- RedLock.net (>= 2.3.2)
- Reo.Core.MongoDB (>= 8.0.617)
- stbychkov.AutoLoggerMessage (>= 1.0.14)
- Swashbuckle.AspNetCore (>= 9.0.5)
- System.Collections.Immutable (>= 9.0.9)
- System.ComponentModel.Annotations (>= 5.0.0)
- System.IO.Abstractions (>= 22.0.16)
- System.IO.Pipelines (>= 9.0.9)
- System.Linq.Async (>= 6.0.3)
- System.Security.Cryptography.Algorithms (>= 4.3.1)
- System.Text.Encodings.Web (>= 9.0.9)
- System.Text.Json (>= 9.0.9)
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 | 29 | 2/13/2026 |
| 10.0.32 | 36 | 2/13/2026 |
| 10.0.31 | 37 | 2/13/2026 |
| 10.0.30 | 33 | 2/12/2026 |
| 10.0.29 | 29 | 2/12/2026 |
| 10.0.28 | 33 | 2/11/2026 |
| 10.0.27 | 32 | 2/11/2026 |
| 10.0.26 | 79 | 2/9/2026 |
| 10.0.25 | 78 | 2/9/2026 |
| 10.0.24 | 78 | 2/9/2026 |
| 10.0.23 | 79 | 2/9/2026 |
| 10.0.22 | 80 | 2/9/2026 |
| 10.0.21 | 79 | 2/9/2026 |
| 10.0.20 | 78 | 2/9/2026 |
| 10.0.15 | 85 | 2/6/2026 |
| 10.0.14 | 81 | 2/6/2026 |
| 10.0.13 | 88 | 2/4/2026 |
| 10.0.12 | 86 | 2/3/2026 |
| 10.0.11 | 86 | 2/2/2026 |
| 8.0.617 | 200 | 10/9/2025 |