Reo.Core.TestCaseCollector.CodeGeneration
10.0.88
See the version list below for details.
dotnet add package Reo.Core.TestCaseCollector.CodeGeneration --version 10.0.88
NuGet\Install-Package Reo.Core.TestCaseCollector.CodeGeneration -Version 10.0.88
<PackageReference Include="Reo.Core.TestCaseCollector.CodeGeneration" Version="10.0.88" />
<PackageVersion Include="Reo.Core.TestCaseCollector.CodeGeneration" Version="10.0.88" />
<PackageReference Include="Reo.Core.TestCaseCollector.CodeGeneration" />
paket add Reo.Core.TestCaseCollector.CodeGeneration --version 10.0.88
#r "nuget: Reo.Core.TestCaseCollector.CodeGeneration, 10.0.88"
#:package Reo.Core.TestCaseCollector.CodeGeneration@10.0.88
#addin nuget:?package=Reo.Core.TestCaseCollector.CodeGeneration&version=10.0.88
#tool nuget:?package=Reo.Core.TestCaseCollector.CodeGeneration&version=10.0.88
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 (>= 2025.2.4)
- Microsoft.CodeAnalysis.Analyzers (>= 3.11.0)
- Microsoft.CodeAnalysis.Common (>= 5.0.0)
- Microsoft.CodeAnalysis.CSharp (>= 5.0.0)
- Reo.Core.CodeGenerator (>= 10.0.88)
- stbychkov.AutoLoggerMessage (>= 1.0.15)
- System.Collections.Immutable (>= 10.0.5)
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.105 | 0 | 4/15/2026 |
| 10.0.104 | 0 | 4/15/2026 |
| 10.0.103 | 35 | 4/14/2026 |
| 10.0.101 | 34 | 4/14/2026 |
| 10.0.100 | 75 | 4/13/2026 |
| 10.0.99 | 71 | 4/13/2026 |
| 10.0.98 | 75 | 4/13/2026 |
| 10.0.97 | 94 | 4/13/2026 |
| 10.0.96 | 95 | 4/13/2026 |
| 10.0.95 | 87 | 4/10/2026 |
| 10.0.94 | 89 | 4/10/2026 |
| 10.0.93 | 90 | 4/10/2026 |
| 10.0.92 | 95 | 4/9/2026 |
| 10.0.91 | 92 | 4/8/2026 |
| 10.0.90 | 90 | 4/7/2026 |
| 10.0.89 | 92 | 4/7/2026 |
| 10.0.88 | 92 | 4/7/2026 |
| 10.0.87 | 94 | 4/6/2026 |
| 10.0.86 | 94 | 4/3/2026 |
| 10.0.85 | 89 | 3/31/2026 |