Microsoft.Extensions.TimeProvider.Testing
9.0.0-preview.3.24209.3
Prefix Reserved
See the version list below for details.
dotnet add package Microsoft.Extensions.TimeProvider.Testing --version 9.0.0-preview.3.24209.3
NuGet\Install-Package Microsoft.Extensions.TimeProvider.Testing -Version 9.0.0-preview.3.24209.3
<PackageReference Include="Microsoft.Extensions.TimeProvider.Testing" Version="9.0.0-preview.3.24209.3" />
<PackageVersion Include="Microsoft.Extensions.TimeProvider.Testing" Version="9.0.0-preview.3.24209.3" />
<PackageReference Include="Microsoft.Extensions.TimeProvider.Testing" />
paket add Microsoft.Extensions.TimeProvider.Testing --version 9.0.0-preview.3.24209.3
#r "nuget: Microsoft.Extensions.TimeProvider.Testing, 9.0.0-preview.3.24209.3"
#:package Microsoft.Extensions.TimeProvider.Testing@9.0.0-preview.3.24209.3
#addin nuget:?package=Microsoft.Extensions.TimeProvider.Testing&version=9.0.0-preview.3.24209.3&prerelease
#tool nuget:?package=Microsoft.Extensions.TimeProvider.Testing&version=9.0.0-preview.3.24209.3&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. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .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.3.24172.9)
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages (24)
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 |
|
|
Reo.Core.CodeGeneratorTesting
Package Description |
|
|
Devlead.Testing.MockHttp
.NET Library for mocking HTTP client requests |
|
|
Foundatio.TestHarness
Pluggable foundation blocks for building distributed apps. |
GitHub repositories (50)
Showing the top 20 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+.
|
|
|
babalae/better-genshin-impact
📦BetterGI · 更好的原神 - 自动拾取 | 自动剧情 | 全自动钓鱼(AI) | 全自动七圣召唤 | 自动伐木 | 自动刷本 | 自动采集/挖矿/锄地 | 一条龙 | 全连音游 - UI Automation Testing Tools For Genshin Impact
|
|
|
dotnet/orleans
Cloud Native application framework for .NET
|
|
|
MudBlazor/MudBlazor
Blazor Component Library based on Material Design principles with an emphasis on ease of use and extensibility
|
|
|
quartznet/quartznet
Quartz Enterprise Scheduler .NET
|
|
|
kurrent-io/KurrentDB
KurrentDB is a database that's engineered for modern software applications and event-driven architectures. Its event-native design simplifies data modeling and preserves data integrity while the integrated streaming engine solves distributed messaging challenges and ensures data consistency.
|
|
|
dotnet/aspire
Aspire is the tool for code-first, extensible, observable dev and deploy.
|
|
|
sebastienros/jint
Javascript Interpreter for .NET
|
|
|
Cysharp/MagicOnion
Unified Realtime/API framework for .NET platform and Unity.
|
|
|
modelcontextprotocol/csharp-sdk
The official C# SDK for Model Context Protocol servers and clients. Maintained in collaboration with Microsoft.
|
|
|
oskardudycz/EventSourcing.NetCore
Examples and Tutorials of Event Sourcing in .NET
|
|
|
Cysharp/R3
The new future of dotnet/reactive and UniRx.
|
|
|
shouldly/shouldly
Should testing for .NET—the way assertions should be!
|
|
|
JasperFx/marten
.NET Transactional Document DB and Event Store on PostgreSQL
|
|
|
evolutionary-architecture/evolutionary-architecture-by-example
Navigate the complex landscape of .NET software architecture with our step-by-step, story-like guide. Unpack the interplay between modular monoliths, microservices, domain-driven design, and various architectural patterns. Go beyond the one-size-fits-all solutions and understand how to blend these approaches based on your unique needs.
|
|
|
nodatime/nodatime
A better date and time API for .NET
|
|
|
exceptionless/Exceptionless
Exceptionless application
|
|
|
BrighterCommand/Brighter
A framework for building messaging apps with .NET and C#.
|
| Version | Downloads | Last Updated |
|---|---|---|
| 10.3.0 | 205,019 | 2/10/2026 |
| 10.2.0 | 534,380 | 1/13/2026 |
| 10.1.0 | 436,125 | 12/9/2025 |
| 10.0.0 | 838,687 | 11/11/2025 |
| 9.10.0 | 1,389,122 | 10/14/2025 |
| 9.9.0 | 911,956 | 9/9/2025 |
| 9.8.0 | 597,096 | 8/12/2025 |
| 9.7.0 | 855,682 | 7/8/2025 |
| 9.6.0 | 636,275 | 6/10/2025 |
| 9.5.0 | 758,574 | 5/13/2025 |
| 9.4.0 | 1,496,406 | 4/8/2025 |
| 9.3.0 | 687,565 | 3/11/2025 |
| 9.2.0 | 728,739 | 2/11/2025 |
| 9.1.0 | 617,491 | 1/14/2025 |
| 9.0.0 | 1,203,583 | 11/12/2024 |
| 9.0.0-preview.9.24507.7 | 22,264 | 10/8/2024 |
| 9.0.0-preview.8.24460.1 | 10,085 | 9/10/2024 |
| 9.0.0-preview.3.24209.3 | 10,662 | 4/11/2024 |
| 8.10.0 | 2,926,789 | 10/8/2024 |
| 8.9.1 | 790,651 | 9/6/2024 |