Luna.DotNet.Core.Runtime.Faker.FakeItEasy
1.0.3
dotnet add package Luna.DotNet.Core.Runtime.Faker.FakeItEasy --version 1.0.3
NuGet\Install-Package Luna.DotNet.Core.Runtime.Faker.FakeItEasy -Version 1.0.3
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="Luna.DotNet.Core.Runtime.Faker.FakeItEasy" Version="1.0.3" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Luna.DotNet.Core.Runtime.Faker.FakeItEasy --version 1.0.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Luna.DotNet.Core.Runtime.Faker.FakeItEasy, 1.0.3"
#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.
// Install Luna.DotNet.Core.Runtime.Faker.FakeItEasy as a Cake Addin #addin nuget:?package=Luna.DotNet.Core.Runtime.Faker.FakeItEasy&version=1.0.3 // Install Luna.DotNet.Core.Runtime.Faker.FakeItEasy as a Cake Tool #tool nuget:?package=Luna.DotNet.Core.Runtime.Faker.FakeItEasy&version=1.0.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Pacote | Versão | Downloads |
---|---|---|
Moq | ||
FakeItEasy |
DotNet.Core.Runtime.Faker
Read this in other language: English
Lib para trocar implementações injetadas via DI em tempo de execução nos testes integrados
Instalação
Com Moq
> dotnet add package Luna.DotNet.Core.Runtime.Faker.Moq
Com FakeItEasy
> dotnet add package Luna.DotNet.Core.Runtime.Faker.FakeItEasy
Configuração
Através do FakeItEasy
- Lib DotNet.Core.Runtime.Faker.FakeItEasy
- Registrar o faker
var registeredValue = new DateTime();
var factory = new WebApplicationFactory<Startup>().WithWebHostBuilder(builder =>
builder.ConfigureTestServices(services =>
{
services.AddServiceWithFaker<Clock>(faker => A.CallTo(() => faker.Now()).Returns(registeredValue));
}));
var serviceProvider = factory.Services;
- Mudar implementação
serviceProvider.Change<Clock>(faker => A.CallTo(() => faker.Now()).Returns(new DateTime()));
- Receber novo valor
serviceProvider.GetService<Clock>().Now();
Deve retornar valor informado no change =)
- Limpar implementação para não influenciar em outros testes
serviceProvider.ResetAllChanges();
Através do Moq
- Lib DotNet.Core.Runtime.Faker.Moq
Muito parecido com o FakeItEasy, mas com a sintaxe do moq
factory = new WebApplicationFactory<Startup>().WithWebHostBuilder(builder =>
builder.ConfigureTestServices(services =>
{
services.AddServiceWithFaker<Clock>(mock => mock.Setup(x => x.Now()).Returns(registeredValue));
}));
e
serviceProvider.Change<Clock>(mock => mock.Setup(x => x.Now()).Returns(new DateTime()));
Manualmente
- Lib DotNet.Core.Runtime.Faker
Muito parecido com os anteriores, mas sem dependências das libs
factory = new WebApplicationFactory<Startup>().WithWebHostBuilder(builder =>
builder.ConfigureTestServices(services =>
{
services.AddServiceWithFaker<Clock>(() => new FakeClock());
}));
e
serviceProvider.Change<Clock>(() => new FakeClock());
Exemplos completos:
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net7.0
- DotNet.Core.Runtime.Faker (>= 1.0.3)
- FakeItEasy (>= 7.3.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.