InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now. Learn more →
Top 23 C# Testing Projects
-
Bogus
:card_index: A simple fake data generator for C#, F#, and VB.NET. Based on and ported from the famed faker.js.
Code which uses Bogus NuGet package for random data.
-
InfluxDB
InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
-
-
testcontainers-dotnet
A library to support tests with throwaway instances of Docker containers for all compatible .NET Standard versions.
Docs
-
Fluent Assertions
A very extensive set of extension methods that allow you to more naturally specify the expected outcome of a TDD or BDD-style unit tests. Targets .NET Framework 4.7, as well as .NET Core 2.1, .NET Core 3.0, .NET 6, .NET Standard 2.0 and 2.1. Supports the unit test frameworks MSTest2, NUnit3, XUnit2, MSpec, and NSpec3.
The new commercial license costs $129.95 per developer per year. This pricing structure impacts organizations, especially those with larger development teams or multiple projects utilizing Fluent Assertions.
-
AutoFixture
AutoFixture is an open source library for .NET designed to minimize the 'Arrange' phase of your unit tests in order to maximize maintainability. Its primary goal is to allow developers to focus on what is being tested rather than how to setup the test scenario, by making it easier to create object graphs containing test data.
-
Verify
Verify is a snapshot testing tool that simplifies the assertion of complex data models and documents.
Project mention: How To Simplify Assertions in Unit and Integration Tests with Verify in .NET | dev.to | 2024-10-08Verify is a library that allows you to perform snapshot-based testing. A snapshot is a saved version of your test result, such as an object or a response, which is then compared against future test runs to ensure the output remains consistent. If the output changes unexpectedly, Verify will fail the test and highlight the difference, allowing you to quickly identify and fix issues.
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
Project mention: Show HN: A fake SMTP server for software integration testing | news.ycombinator.com | 2024-07-21
there's a few of them out there, I use Papercut https://github.com/ChangemakerStudios/Papercut-SMTP
-
To substitute the object creating a mock, we'll use the NSubstitute package. This article will not cover how to use the NSubstitute, but to explain the basics we say to the code "When someone calls method X, returns the value Y", so the result is a fake value.
-
ReportGenerator
ReportGenerator converts coverage reports generated by coverlet, OpenCover, dotCover, Visual Studio, NCover, Cobertura, JaCoCo, Clover, gcov or lcov into human readable reports in various formats.
Project mention: Beginner's Guide to Test Coverage with NUnit, Coverlet, and ReportGenerator | dev.to | 2024-06-17ReportGenerator - Powerful code coverage visualization tool. More here
-
-
The website is called FlaUI, and they even have a GitHub repository that looks legit.
-
Project mention: From Good to Great: Taking Your Test Coverage to the Next Level | dev.to | 2024-10-23
Pick what works for you. Java? Try Pitest for mutation testing. JavaScript? Stryker Mutator's got you covered.
-
-
mockhttp
Testing layer for Microsoft's HttpClient library. Create canned responses using a fluent API.
-
System.IO.Abstractions
Just like System.Web.Abstractions, but for System.IO. Yay for testable IO access!
-
WireMock.Net
WireMock.Net is a flexible product for stubbing and mocking web HTTP responses using advanced request matching and response templating. Based on the functionality from http://WireMock.org, but extended with more functionality.
Project mention: Integration Testing in .NET: A Practical Guide to Tools and Techniques | dev.to | 2024-09-07When we need to mock external APIs, WireMock.Net is a powerful tool that allows us to simulate HTTP interactions.
-
coyote
Coyote is a library and tool for testing concurrent C# code and deterministically reproducing bugs.
Project mention: What's the big deal about Deterministic Simulation Testing? | news.ycombinator.com | 2024-08-20For anyone writing services in C# there’s a project from MSR called Coyote that does similar deterministic simulation testing by systematically testing interleavings of async code.
https://microsoft.github.io/coyote/
-
Easy control over the dependencies of your contracts. You can even automate it by writing architectural tests (NetArchTest, ArchUnitNET).
-
Compare-Net-Objects
What you have been waiting for :+1: Perform a deep compare of any two .NET objects using reflection. Shows the differences between the two objects.
-
-
ArchUnitNET
A C# architecture test library to specify and assert architecture rules in C# for automated testing.
Easy control over the dependencies of your contracts. You can even automate it by writing architectural tests (NetArchTest, ArchUnitNET).
-
vstest
Visual Studio Test Platform is the runner and engine that powers test explorer and vstest.console.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
C# Testing discussion
C# Testing related posts
-
Substituindo FluentAssertions por Shouldly em Projetos .NET
-
Primeiros testes unitários em C# com xUnit (parte 1)
-
.NET: Integration Test for uploading csv/excel file via HttpClient
-
Ask HN: Building Software with ADHD?
-
TDD helper in c#
-
Fluent Assertions 8: Corporate License Update
-
FluentAssertions No Longer OSS
-
A note from our sponsor - InfluxDB
www.influxdata.com | 15 May 2025
Index
What are some of the best open-source Testing projects in C#? This list will help you:
# | Project | Stars |
---|---|---|
1 | Bogus | 9,249 |
2 | xUnit | 4,365 |
3 | testcontainers-dotnet | 4,038 |
4 | Fluent Assertions | 3,809 |
5 | AutoFixture | 3,443 |
6 | Verify | 3,200 |
7 | Shouldly | 3,150 |
8 | Papercut | 3,094 |
9 | NSubstitute | 2,812 |
10 | ReportGenerator | 2,781 |
11 | NUnit | 2,574 |
12 | FlaUI | 2,461 |
13 | Stryker.NET | 1,873 |
14 | FakeItEasy | 1,773 |
15 | mockhttp | 1,696 |
16 | System.IO.Abstractions | 1,564 |
17 | WireMock.Net | 1,551 |
18 | coyote | 1,543 |
19 | NetArchTest | 1,526 |
20 | Compare-Net-Objects | 1,097 |
21 | pose | 1,088 |
22 | ArchUnitNET | 1,040 |
23 | vstest | 927 |