Microsoft.Extensions.TimeProvider.Testing
9.0.0-preview.4.24271.2
Prefix Reserved
See the version list below for details.
dotnet add package Microsoft.Extensions.TimeProvider.Testing --version 9.0.0-preview.4.24271.2
NuGet\Install-Package Microsoft.Extensions.TimeProvider.Testing -Version 9.0.0-preview.4.24271.2
<PackageReference Include="Microsoft.Extensions.TimeProvider.Testing" Version="9.0.0-preview.4.24271.2" />
paket add Microsoft.Extensions.TimeProvider.Testing --version 9.0.0-preview.4.24271.2
#r "nuget: Microsoft.Extensions.TimeProvider.Testing, 9.0.0-preview.4.24271.2"
// Install Microsoft.Extensions.TimeProvider.Testing as a Cake Addin #addin nuget:?package=Microsoft.Extensions.TimeProvider.Testing&version=9.0.0-preview.4.24271.2&prerelease // Install Microsoft.Extensions.TimeProvider.Testing as a Cake Tool #tool nuget:?package=Microsoft.Extensions.TimeProvider.Testing&version=9.0.0-preview.4.24271.2&prerelease
Microsoft.Extensions.TimeProvider.Testing
Provides a FakeTimeProvider
for testing components that depend on System.TimeProvider
.
Install the package
From the command-line:
dotnet add package Microsoft.Extensions.TimeProvider.Testing
Or directly in the C# project file:
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.TimeProvider.Testing" Version="[CURRENTVERSION]" />
</ItemGroup>
Usage Example
FakeTimeProvider
can be used to manually adjust time to test time dependent components in a deterministic way.
FakeTimeProvider
derives from TimeProvider and adds the following APIs:
public FakeTimeProvider(DateTimeOffset startDateTime)
public DateTimeOffset Start { get; }
public TimeSpan AutoAdvanceAmount { get; set; }
public void SetUtcNow(DateTimeOffset value)
public void Advance(TimeSpan delta)
public void SetLocalTimeZone(TimeZoneInfo localTimeZone)
These can be used as follows:
var timeProvider = new FakeTimeProvider();
var myComponent = new MyComponent(timeProvider);
timeProvider.Advance(TimeSpan.FromSeconds(5));
myComponent.CheckState();
Feedback & Contributing
We welcome feedback and contributions in our GitHub repo.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. 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. net9.0 is compatible. |
.NET Framework | net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
-
.NETFramework 4.6.2
- Microsoft.Bcl.TimeProvider (>= 9.0.0-preview.4.24266.19)
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages (11)
Showing the top 5 NuGet packages that depend on Microsoft.Extensions.TimeProvider.Testing:
Package | Downloads |
---|---|
Reo.Core.Testing
Package Description |
|
Reo.Core.IntegrationTesting
Package Description |
|
Foundatio.TestHarness
Pluggable foundation blocks for building distributed apps. |
|
Smusdi.Testing
Utilities to test .NET services. |
|
Rocket.Surgery.LaunchPad.Testing
Package Description |
GitHub repositories (28)
Showing the top 5 popular GitHub repositories that depend on Microsoft.Extensions.TimeProvider.Testing:
Repository | Stars |
---|---|
microsoft/semantic-kernel
Integrate cutting-edge LLM technology quickly and easily into your apps
|
|
bitwarden/server
Bitwarden infrastructure/backend (API, database, Docker, etc).
|
|
App-vNext/Polly
Polly is a .NET resilience and transient-fault-handling library that allows developers to express policies such as Retry, Circuit Breaker, Timeout, Bulkhead Isolation, and Fallback in a fluent and thread-safe manner. From version 6.0.1, Polly targets .NET Standard 1.1 and 2.0+.
|
|
MudBlazor/MudBlazor
Blazor Component Library based on Material design with an emphasis on ease of use. Mainly written in C# with Javascript kept to a bare minimum it empowers .NET developers to easily debug it if needed.
|
|
quartznet/quartznet
Quartz Enterprise Scheduler .NET
|
Version | Downloads | Last updated |
---|---|---|
9.0.0 | 32,022 | 11/12/2024 |
9.0.0-preview.9.24507.7 | 12,288 | 10/8/2024 |
9.0.0-preview.8.24460.1 | 9,621 | 9/10/2024 |
9.0.0-preview.7.24412.10 | 13,735 | 8/14/2024 |
9.0.0-preview.6.24353.1 | 7,133 | 7/10/2024 |
9.0.0-preview.5.24311.7 | 7,446 | 6/11/2024 |
9.0.0-preview.4.24271.2 | 3,031 | 5/21/2024 |
9.0.0-preview.3.24209.3 | 5,413 | 4/11/2024 |
9.0.0-preview.2.24157.4 | 2,079 | 3/12/2024 |
9.0.0-preview.1.24108.1 | 1,116 | 2/13/2024 |
8.10.0 | 349,063 | 10/8/2024 |
8.9.1 | 288,092 | 9/6/2024 |
8.9.0 | 36,268 | 9/5/2024 |
8.8.0 | 217,014 | 8/13/2024 |
8.7.0 | 402,519 | 7/10/2024 |
8.6.0 | 257,103 | 6/11/2024 |
8.5.0 | 280,957 | 5/14/2024 |
8.4.0 | 315,538 | 4/9/2024 |
8.3.0 | 421,658 | 3/12/2024 |
8.2.0 | 215,528 | 2/13/2024 |
8.1.0 | 191,961 | 1/9/2024 |
8.0.0 | 300,236 | 11/14/2023 |
8.0.0-rc.2.23510.2 | 40,423 | 10/10/2023 |
8.0.0-rc.1.23453.1 | 1,449 | 9/12/2023 |
8.0.0-preview.7.23407.5 | 3,123 | 8/8/2023 |
8.0.0-preview.6.23360.2 | 1,385 | 7/12/2023 |
8.0.0-preview.5.23308.3 | 558 | 6/14/2023 |
8.0.0-preview.4.23273.7 | 183 | 5/23/2023 |