Reo.Core.TestCaseCollector.CodeGeneration
10.0.81
See the version list below for details.
dotnet add package Reo.Core.TestCaseCollector.CodeGeneration --version 10.0.81
NuGet\Install-Package Reo.Core.TestCaseCollector.CodeGeneration -Version 10.0.81
<PackageReference Include="Reo.Core.TestCaseCollector.CodeGeneration" Version="10.0.81" />
<PackageVersion Include="Reo.Core.TestCaseCollector.CodeGeneration" Version="10.0.81" />
<PackageReference Include="Reo.Core.TestCaseCollector.CodeGeneration" />
paket add Reo.Core.TestCaseCollector.CodeGeneration --version 10.0.81
#r "nuget: Reo.Core.TestCaseCollector.CodeGeneration, 10.0.81"
#:package Reo.Core.TestCaseCollector.CodeGeneration@10.0.81
#addin nuget:?package=Reo.Core.TestCaseCollector.CodeGeneration&version=10.0.81
#tool nuget:?package=Reo.Core.TestCaseCollector.CodeGeneration&version=10.0.81
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.81)
- stbychkov.AutoLoggerMessage (>= 1.0.15)
- System.Collections.Immutable (>= 10.0.3)
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.85 | 31 | 3/31/2026 |
| 10.0.84 | 27 | 3/31/2026 |
| 10.0.83 | 69 | 3/30/2026 |
| 10.0.82 | 78 | 3/30/2026 |
| 10.0.81 | 79 | 3/30/2026 |
| 10.0.80 | 85 | 3/27/2026 |
| 10.0.79 | 77 | 3/26/2026 |
| 10.0.78 | 72 | 3/26/2026 |
| 10.0.77 | 79 | 3/25/2026 |
| 10.0.76 | 84 | 3/24/2026 |
| 10.0.75 | 85 | 3/23/2026 |
| 10.0.74 | 85 | 3/19/2026 |
| 10.0.73 | 80 | 3/19/2026 |
| 10.0.72 | 81 | 3/18/2026 |
| 10.0.71 | 85 | 3/18/2026 |
| 10.0.70 | 85 | 3/18/2026 |
| 10.0.69 | 94 | 3/17/2026 |
| 10.0.68 | 86 | 3/12/2026 |
| 10.0.67 | 91 | 3/10/2026 |
| 10.0.66 | 86 | 3/10/2026 |