Reo.Core.Builder.CodeGeneration 6.0.566

There is a newer version of this package available.
See the version list below for details.
dotnet add package Reo.Core.Builder.CodeGeneration --version 6.0.566
                    
NuGet\Install-Package Reo.Core.Builder.CodeGeneration -Version 6.0.566
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Reo.Core.Builder.CodeGeneration" Version="6.0.566" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Reo.Core.Builder.CodeGeneration" Version="6.0.566" />
                    
Directory.Packages.props
<PackageReference Include="Reo.Core.Builder.CodeGeneration" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Reo.Core.Builder.CodeGeneration --version 6.0.566
                    
#r "nuget: Reo.Core.Builder.CodeGeneration, 6.0.566"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Reo.Core.Builder.CodeGeneration@6.0.566
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Reo.Core.Builder.CodeGeneration&version=6.0.566
                    
Install as a Cake Addin
#tool nuget:?package=Reo.Core.Builder.CodeGeneration&version=6.0.566
                    
Install as a Cake Tool

Генератор тестовых билдеров для доменных моделей

Описание пакета

Reo.Core.Builder.CodeGeneration — это библиотека для генерации тестовых билдеров доменных моделей и методов расширений для генерации текстового представления кода для их инициализации.

Пакет должен быть подключен в Application слое решения.

Основные компоненты

  1. IBuilderFor<TModel> Маркерный интерфейс для partial классов, которые используются для создания билдеров доменных моделей. TModel - тип доменной модели.

Требования

Установка

Используйте следующие команды для установки пакета:

# NuGet Package Manager
Install-Package Reo.Core.Builder.CodeGeneration

# .NET CLI
dotnet add package Reo.Core.Builder.CodeGeneration

Настройка

Создание класса тестового билдера

public partial class MyModelTestBuilder : IBuilderFor<MyModel>;

Доменный класс:

public class MyModel
{
	private MyModel(string? name)
	{
		Name = name;
	}

	public string? Name { get; set; }


	public static MyModel Create(string? name)
	{
		var result = new MyModel(name);

		return result;
	}
}

Сгенерированный класс с методами:

public partial class MyModelTestBuilder
{
	private string? Name { get;  set;  }

	public MyModelTestBuilder WithName(string name)
	{
		Name = name;

		return this;
	}

	public MyModelTestBuilder WithNameAsNull()
	{
		Name = null;

		return this;
	}

	public MyModel CreateMyModel() => MyModel.Create(Name);
}

Сгенерированный метод расширения:

public static class MyModelExtensions
{
	public static string ToTestingBuilderString(this MyModel model)
	{
		var sb = new StringBuilder("Mocker.Get<MyModelBuilder>()");

		sb.AppendLine();

		sb.Append(".WithName");

		sb.AppendLine(model.Name.IsNotNullOrWhiteSpace() ? $"(\"{model.Name}\")" : "AsNull()");

		sb.AppendLine(".CreateMyModel()");

		return sb.ToString();
	}
}

Написание теста:

public class MyModelTests
{
	private readonly AutoMocker _mocker = new();

	private readonly MyModelTestBuilder _builder;

	public MyModelTests() => _builder = _mocker.Get<MyModelTestBuilder>();

	[Fact(DisplayName = "Наименование может быть не задано")]
	public void Test1()
	{
		// Arrange
		_builder.WithNameAsNull();

		// Act
		var result = _builder.CreateMyModel();

		// Assert

		result.Name.Should()
			.BeNull();
	}
}

Лицензия

Reo.Core.Builder.CodeGeneration распространяется под лицензией MIT. См. файл LICENSE для деталей.

There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

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
8.0.703 0 11/26/2025
8.0.701 0 11/26/2025
8.0.700 0 11/26/2025
8.0.699 0 11/26/2025
8.0.697 0 11/26/2025
8.0.692 82 11/24/2025
8.0.691 289 11/21/2025
8.0.690 373 11/20/2025
8.0.689 376 11/20/2025
8.0.686 381 11/18/2025
8.0.685 375 11/18/2025
8.0.682 379 11/18/2025
8.0.681 310 11/17/2025
8.0.680 310 11/17/2025
8.0.679 285 11/17/2025
8.0.678 256 11/13/2025
8.0.677 264 11/11/2025
8.0.676 265 11/11/2025
8.0.675 261 11/11/2025
8.0.674 264 11/11/2025
8.0.673 257 11/10/2025
8.0.672 239 11/10/2025
8.0.671 117 11/7/2025
8.0.670 113 11/7/2025
8.0.669 112 11/7/2025
8.0.668 121 11/7/2025
8.0.667 151 11/7/2025
8.0.666 156 11/7/2025
8.0.665 175 11/6/2025
8.0.664 177 11/6/2025
8.0.663 172 11/6/2025
8.0.662 172 11/6/2025
8.0.661 169 11/5/2025
8.0.660 175 11/5/2025
8.0.659 113 11/1/2025
8.0.658 148 10/31/2025
8.0.657 179 10/30/2025
8.0.656 173 10/30/2025
8.0.655 173 10/29/2025
8.0.654 181 10/29/2025
8.0.653 169 10/28/2025
8.0.652 168 10/28/2025
8.0.651 175 10/28/2025
8.0.650 171 10/27/2025
8.0.649 169 10/27/2025
8.0.648 120 10/24/2025
8.0.647 127 10/24/2025
8.0.646 138 10/24/2025
8.0.645 131 10/24/2025
8.0.644 169 10/23/2025
8.0.643 159 10/23/2025
8.0.642 167 10/23/2025
8.0.641 164 10/22/2025
8.0.640 164 10/22/2025
8.0.639 155 10/22/2025
8.0.638 157 10/22/2025
8.0.637 153 10/21/2025
8.0.636 155 10/21/2025
8.0.635 155 10/21/2025
8.0.634 159 10/20/2025
8.0.633 159 10/20/2025
8.0.632 165 10/20/2025
8.0.631 158 10/20/2025
8.0.630 110 10/17/2025
8.0.629 166 10/13/2025
8.0.628 170 10/13/2025
8.0.627 161 10/13/2025
8.0.626 92 10/10/2025
8.0.625 96 10/10/2025
8.0.624 115 10/10/2025
8.0.623 122 10/10/2025
8.0.622 160 10/9/2025
8.0.621 162 10/9/2025
8.0.620 162 10/9/2025
8.0.619 157 10/9/2025
8.0.618 165 10/9/2025
8.0.617 156 10/9/2025
8.0.616 160 10/9/2025
8.0.615 163 10/9/2025
8.0.614 158 10/8/2025
8.0.613 161 10/8/2025
8.0.612 166 10/6/2025
8.0.611 122 10/3/2025
8.0.610 128 10/3/2025
8.0.609 119 10/3/2025
8.0.608 130 10/3/2025
8.0.607 129 10/3/2025
8.0.606 130 10/3/2025
8.0.605 129 10/3/2025
8.0.604 129 10/3/2025
8.0.603 132 10/3/2025
8.0.602 167 10/2/2025
8.0.600 174 10/2/2025
8.0.599 160 10/2/2025
8.0.598 167 10/1/2025
8.0.597 163 10/1/2025
8.0.596 166 10/1/2025
8.0.595 161 9/30/2025
8.0.594 159 9/30/2025
8.0.593 153 9/30/2025
8.0.592 163 9/30/2025
8.0.591 160 9/30/2025
8.0.589 156 9/29/2025
8.0.588 169 9/29/2025
8.0.587 153 9/29/2025
8.0.586 158 9/29/2025
8.0.585 164 9/29/2025
8.0.583 128 9/26/2025
8.0.582 147 9/26/2025
8.0.580 166 9/25/2025
8.0.579 170 9/25/2025
8.0.578 169 9/25/2025
8.0.577 156 9/25/2025
8.0.576 153 9/25/2025
8.0.575 170 9/25/2025
8.0.574 176 9/24/2025
8.0.573 171 9/23/2025
8.0.572 157 9/23/2025
8.0.571 175 9/23/2025
8.0.570 168 9/23/2025
8.0.569 191 9/22/2025
8.0.568 215 9/22/2025
8.0.567 228 9/22/2025
8.0.566 196 9/21/2025
6.0.701 0 11/26/2025
6.0.699 0 11/26/2025
6.0.692 82 11/24/2025
6.0.691 286 11/21/2025
6.0.690 368 11/20/2025
6.0.689 373 11/20/2025
6.0.686 374 11/18/2025
6.0.685 378 11/18/2025
6.0.682 375 11/18/2025
6.0.681 305 11/17/2025
6.0.680 306 11/17/2025
6.0.679 283 11/17/2025
6.0.678 252 11/13/2025
6.0.677 260 11/11/2025
6.0.676 258 11/11/2025
6.0.675 259 11/11/2025
6.0.674 265 11/11/2025
6.0.673 252 11/10/2025
6.0.672 239 11/10/2025
6.0.671 107 11/7/2025
6.0.670 110 11/7/2025
6.0.669 114 11/7/2025
6.0.668 112 11/7/2025
6.0.667 143 11/7/2025
6.0.666 153 11/7/2025
6.0.665 166 11/6/2025
6.0.664 170 11/6/2025
6.0.663 171 11/6/2025
6.0.662 168 11/6/2025
6.0.661 168 11/5/2025
6.0.660 167 11/5/2025
6.0.659 111 11/1/2025
6.0.658 140 10/31/2025
6.0.657 170 10/30/2025
6.0.656 169 10/30/2025
6.0.655 164 10/29/2025
6.0.654 166 10/29/2025
6.0.653 172 10/28/2025
6.0.652 163 10/28/2025
6.0.651 173 10/28/2025
6.0.650 167 10/27/2025
6.0.649 168 10/27/2025
6.0.648 116 10/24/2025
6.0.647 124 10/24/2025
6.0.646 131 10/24/2025
6.0.645 127 10/24/2025
6.0.644 166 10/23/2025
6.0.643 168 10/23/2025
6.0.642 164 10/23/2025
6.0.641 155 10/22/2025
6.0.640 157 10/22/2025
6.0.639 154 10/22/2025
6.0.638 159 10/22/2025
6.0.637 147 10/21/2025
6.0.636 158 10/21/2025
6.0.635 155 10/21/2025
6.0.634 160 10/20/2025
6.0.633 159 10/20/2025
6.0.632 158 10/20/2025
6.0.631 156 10/20/2025
6.0.630 116 10/17/2025
6.0.629 162 10/13/2025
6.0.628 164 10/13/2025
6.0.627 164 10/13/2025
6.0.626 87 10/10/2025
6.0.625 92 10/10/2025
6.0.624 110 10/10/2025
6.0.623 121 10/10/2025
6.0.622 158 10/9/2025
6.0.621 154 10/9/2025
6.0.620 159 10/9/2025
6.0.619 158 10/9/2025
6.0.618 159 10/9/2025
6.0.617 156 10/9/2025
6.0.616 157 10/9/2025
6.0.615 160 10/9/2025
6.0.614 162 10/8/2025
6.0.613 161 10/8/2025
6.0.612 158 10/6/2025
6.0.611 119 10/3/2025
6.0.610 118 10/3/2025
6.0.609 107 10/3/2025
6.0.608 121 10/3/2025
6.0.607 125 10/3/2025
6.0.606 130 10/3/2025
6.0.605 128 10/3/2025
6.0.604 125 10/3/2025
6.0.603 138 10/3/2025
6.0.602 165 10/2/2025
6.0.600 166 10/2/2025
6.0.599 159 10/2/2025
6.0.598 168 10/1/2025
6.0.597 164 10/1/2025
6.0.596 165 10/1/2025
6.0.595 157 9/30/2025
6.0.594 164 9/30/2025
6.0.593 164 9/30/2025
6.0.592 160 9/30/2025
6.0.591 162 9/30/2025
6.0.589 163 9/29/2025
6.0.588 164 9/29/2025
6.0.587 164 9/29/2025
6.0.586 158 9/29/2025
6.0.585 160 9/29/2025
6.0.583 124 9/26/2025
6.0.582 147 9/26/2025
6.0.580 168 9/25/2025
6.0.579 171 9/25/2025
6.0.578 165 9/25/2025
6.0.577 163 9/25/2025
6.0.576 163 9/25/2025
6.0.575 164 9/25/2025
6.0.574 171 9/24/2025
6.0.573 158 9/23/2025
6.0.572 169 9/23/2025
6.0.571 168 9/23/2025
6.0.570 170 9/23/2025
6.0.569 189 9/22/2025
6.0.568 211 9/22/2025
6.0.567 227 9/22/2025
6.0.566 196 9/21/2025