Reo.Core.TestCaseCollector.CodeGeneration
10.0.354
dotnet add package Reo.Core.TestCaseCollector.CodeGeneration --version 10.0.354
NuGet\Install-Package Reo.Core.TestCaseCollector.CodeGeneration -Version 10.0.354
<PackageReference Include="Reo.Core.TestCaseCollector.CodeGeneration" Version="10.0.354" />
<PackageVersion Include="Reo.Core.TestCaseCollector.CodeGeneration" Version="10.0.354" />
<PackageReference Include="Reo.Core.TestCaseCollector.CodeGeneration" />
paket add Reo.Core.TestCaseCollector.CodeGeneration --version 10.0.354
#r "nuget: Reo.Core.TestCaseCollector.CodeGeneration, 10.0.354"
#:package Reo.Core.TestCaseCollector.CodeGeneration@10.0.354
#addin nuget:?package=Reo.Core.TestCaseCollector.CodeGeneration&version=10.0.354
#tool nuget:?package=Reo.Core.TestCaseCollector.CodeGeneration&version=10.0.354
Reo.Core.TestCaseCollector.CodeGeneration
Описание пакета
Пакет Reo.Core.TestCaseCollector.CodeGeneration предназначен для автоматической генерации кода тестов и упрощения работы с синтаксическими деревьями в проектах, использующих C# и Roslyn. Он решает проблему ручного написания повторяющихся тестовых сценариев и позволяет автоматически создавать тесты на основе атрибутов или аннотаций в коде. Пакет также предоставляет инструменты для анализа и манипуляции с кодом, что ускоряет разработку и повышает точность тестирования.
Основные компоненты
1. RoslynExtensions
Класс, предоставляющий расширения для работы с Roslyn, включая:
- Поиск синтаксических узлов (например, методов, классов) в дереве кода.
- Получение информации об атрибутах и модификаторах.
- Анализ документации (XML-комментариев) для синтаксических элементов.
2. DI-регистрация (Dependency Injection)
Механизм автоматической регистрации служб и генераторов тестов в контейнере DI (например, в ASP.NET Core). Позволяет интегрировать генерацию тестов в приложения с минимальными усилиями.
3. Атрибуты для аннотирования кода
Атрибуты, которые можно использовать в исходном коде, чтобы указать, какие методы или классы требуют автоматической
генерации тестов. Например, [GenerateTests] может быть применён к методам, чтобы сгенерировать соответствующие тесты.
4. Конфигурационные параметры
Настройки, которые позволяют контролировать поведение генерации тестов, например:
- Игнорирование определённых методов.
- Указание шаблонов для тестовых классов.
Требования
- .NET Standard 2.0 (совместимость с .NET Framework, .NET Core и .NET 5+).
- Roslyn SDK (для работы с синтаксическими деревьями).
- ASP.NET Core (для интеграции с DI-контейнером).
Установка
Используйте следующие команды для установки пакета через NuGet:
# NuGet Package Manager
Install-Package Reo.Core.TestCaseCollector.CodeGeneration
# .NET CLI
dotnet add package Reo.Core.TestCaseCollector.CodeGeneration
Настройка
Регистрация в DI-контейнере (ASP.NET Core)
Добавьте службу в ConfigureServices вашего Startup.cs или Program.cs:
services.AddTestCaseGeneration();
Конфигурационные параметры
Настройки можно указать в appsettings.json:
{
"TestCaseGeneration": {
"IgnoreMethods": ["TestMethod1", "TestMethod2"],
"TestTemplate": "GeneratedTests_{ClassName}"
}
}
Использование
Пример 1: Аннотирование метода для генерации теста
[GenerateTests]
public void MyMethod()
{
// Логика метода
}
После сборки проекта будет сгенерирован тестовый класс GeneratedTests_MyMethod.
Пример 2: Поиск методов с атрибутом [GenerateTests] через Roslyn
var methods = compilation.GetSyntaxTrees()
.SelectMany(tree => tree.GetRoot().DescendantNodes())
.OfType<MethodDeclarationSyntax>()
.Where(method => method.AttributeLists
.Any(attr => attr.Attributes.Any(a => a.Name.ToString() == "GenerateTests")));
Пример 3: Интеграция с ASP.NET Core
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
services.AddTestCaseGeneration(); // Регистрация генератора тестов
}
Лицензия
Данный пакет распространяется под лицензией MIT.
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- JetBrains.Annotations (>= 2026.2.0)
- Microsoft.CodeAnalysis.Analyzers (>= 3.11.0)
- Microsoft.CodeAnalysis.Common (= 5.0.0)
- Microsoft.CodeAnalysis.CSharp (= 5.0.0)
- Reo.Core.CodeGenerator (>= 10.0.354)
- stbychkov.AutoLoggerMessage (>= 1.0.17)
- System.Collections.Immutable (>= 10.0.12)
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.354 | 0 | 9/14/2026 |
| 10.0.353 | 0 | 9/14/2026 |
| 10.0.352 | 0 | 9/14/2026 |
| 10.0.351 | 0 | 9/14/2026 |
| 10.0.350 | 40 | 9/11/2026 |
| 10.0.347 | 58 | 9/8/2026 |
| 10.0.346 | 55 | 9/8/2026 |
| 10.0.345 | 51 | 9/8/2026 |
| 10.0.344 | 89 | 9/7/2026 |
| 10.0.343 | 93 | 9/7/2026 |
| 10.0.342 | 92 | 9/4/2026 |
| 10.0.341 | 87 | 9/3/2026 |
| 10.0.340 | 92 | 9/1/2026 |
| 10.0.339 | 89 | 9/1/2026 |
| 10.0.338 | 89 | 9/1/2026 |
| 10.0.336 | 91 | 9/1/2026 |
| 10.0.335 | 91 | 9/1/2026 |
| 10.0.334 | 87 | 9/1/2026 |
| 10.0.333 | 93 | 8/31/2026 |
| 10.0.331 | 86 | 8/31/2026 |