-
XUnit: https://xunit.net/
-
NUnit: https://nunit.org/
-
FakeItEasy https://fakeiteasy.github.io/
-
JustMockLite https://github.com/telerik/JustMockLite
-
NSubstitute https://nsubstitute.github.io/
-
FluentAssertions: https://fluentassertions.com/introduction
-
Shouldy https://docs.shouldly.io/documentation/getting-started
-
AutoFixture: https://github.com/AutoFixture/AutoFixture/wiki/Cheat-Sheet
-
MyTested.AspNetCore.Mvc https://github.com/ivaylokenov/MyTested.AspNetCore.Mvc
-
SpecFlow (BDD) https://specflow.org/
Additional:
- Bogus: https://github.com/bchavez/Bogus
- AngleSharp: https://anglesharp.github.io/docs/core/03-Examples
- Respawn https://github.com/jbogard/Respawn
- RestSharp https://restsharp.dev/intro.html
E2E:
- Selenium: https://www.toolsqa.com/selenium-c-sharp/
- Playwright: https://playwright.dev/dotnet/docs/intro
- Cypress: https://www.cypress.io/
API Tests:
- https://dev.to/m4rri4nne/nunit-and-c-tutorial-to-automate-your-api-tests-from-scratch-24nf
- https://timdeschryver.dev/blog/how-to-test-your-csharp-web-api#one-off-test-setups
- Tools:
- WireMock (Java) https://wiremock.org/
- WireMock.NET https://github.com/WireMock-Net/WireMock.Net
DB Tests:
- EF Migrations https://learn.microsoft.com/en-us/ef/core/managing-schemas/migrations/?tabs=dotnet-core-cli
- DbUp https://dbup.readthedocs.io/en/latest/
- Respawn https://github.com/jbogard/Respawn
Infrastructure:
- Docker https://docs.docker.com/
- TestContainers https://testcontainers.com/
- Testing tools in Visual Studio
- Test Explorer
- Test/Live Unit Testing
- Test/Analyze Code Coverage
- GitHub Copilot - Generate Tests
- xUnit Code Snippets
- xUnit Test Generator
- NCrunch (https://www.ncrunch.net/) - $$$
- https://docs.microsoft.com/en-us/dotnet/core/testing/unit-testing-best-practices
- https://stackify.com/unit-testing-basics-best-practices/
- https://dzone.com/articles/unit-testing-best-practices-how-to-get-the-most-ou
- https://stackoverflow.com/questions/1383/what-is-unit-testing
- https://stackoverflow.com/questions/652292/what-is-unit-testing-and-how-do-you-do-it?noredirect=1&lq=1
- https://stackoverflow.com/questions/10752/what-is-the-difference-between-integration-and-unit-tests?rq=1
- https://stackoverflow.com/questions/520064/what-are-unit-tests-integration-tests-smoke-tests-and-regression-tests
- https://www.wikiwand.com/en/Test-driven_development
- https://www.wikiwand.com/en/Behavior-driven_development
- https://cucumber.io/docs/bdd/
- https://www.wikiwand.com/en/Acceptance_test%E2%80%93driven_development
- https://martinfowler.com/articles/practical-test-pyramid.html
- https://martinfowler.com/articles/mocksArentStubs.html
- https://stackoverflow.com/questions/3459287/whats-the-difference-between-a-mock-stub
- http://xunitpatterns.com/index.html
- https://xunit.net/docs/shared-context
- http://dontcodetired.com/blog/post/xUnitnet-2-Cheat-Sheet
- Parallelism: https://xunit.net/docs/running-tests-in-parallel
- Filtering: https://docs.microsoft.com/en-us/dotnet/core/testing/selective-unit-tests?pivots=mstest
- https://www.manning.com/books/unit-testing
https://docs.microsoft.com/en-us/aspnet/core/mvc/controllers/testing?view=aspnetcore-6.0
- https://stackoverflow.com/questions/155436/unit-test-naming-best-practices
- https://stackoverflow.com/questions/96297/what-are-some-popular-naming-conventions-for-unit-tests
- https://osherove.com/blog/2005/4/3/naming-standards-for-unit-tests.html
[UnitOfWork_StateUnderTest_ExpectedBehavior]
[MethodName_StateUnderTest_ExpectedBehavior]
Sum_NegativeNumberAs1stParam_ExceptionThrown()
Sum_NegativeNumberAs2ndParam_ExceptionThrown()
Sum_simpleValues_Calculated()
ParseLogLine_StartsAndEndsWithSpace_ReturnsTrimmedResult()
GetDiscountedPrice_NotTuesday_ReturnsFullPrice()
- https://docs.microsoft.com/en-us/aspnet/core/test/integration-tests?view=aspnetcore-6.0
- https://github.com/dotnet/AspNetCore.Docs/tree/main/aspnetcore/test/integration-tests/samples
- https://dotnetthoughts.net/dotnet-minimal-api-integration-testing/
- https://docs.microsoft.com/en-us/aspnet/core/migration/50-to-60-samples?view=aspnetcore-6.0
- https://github.com/dotnet/AspNetCore.Docs/blob/main/aspnetcore/test/integration-tests/samples/3.x/IntegrationTestsSample/tests/RazorPagesProject.Tests/IntegrationTests/BasicTests.cs
- https://github.com/dotnet/AspNetCore.Docs/blob/main/aspnetcore/test/integration-tests/samples/3.x/IntegrationTestsSample/tests/RazorPagesProject.Tests/IntegrationTests/IndexPageTests.cs
https://github.com/jbogard/Respawn/blob/master/Respawn.DatabaseTests/SqlServerTests.cs
- WebDriver
- Selenium
- Playwright
- Cypress
- https://docs.microsoft.com/en-us/aspnet/core/test/load-tests?view=aspnetcore-6.0
- https://docs.microsoft.com/en-us/azure/load-testing/overview-what-is-azure-load-testing
- https://docs.microsoft.com/en-us/azure/architecture/example-scenario/banking/banking-system-cloud-transformation
- https://docs.microsoft.com/en-us/azure/architecture/example-scenario/banking/jmeter-load-testing-pipeline-implementation-reference
- JMeter
- Azure Load Studio
- k6
- Locust
- https://www.wikiwand.com/en/Exploratory_testing Tools:
- Exploratory Testing Chrome Extension
- Microsoft Test & Feedback
- https://www.wikiwand.com/en/Behavior-driven_development
- https://specflow.org/
- https://docs.specflow.org/projects/getting-started/en/latest/index.html
- https://github.com/dotnet/aspnetcore/tree/main/src/Identity/test
- https://github.com/dotnet/aspnetcore/blob/main/src/HealthChecks/HealthChecks/test/DefaultHealthCheckServiceTest.cs
- https://github.com/moq/moq4/tree/main/tests/Moq.Tests
- https://github.com/ivaylokenov/MyTested.AspNetCore.Mvc/tree/version-3.1/samples
- https://github.com/dotnet-architecture/eShopOnWeb
- https://github.com/vkhorikov/UnitTestingPPP
- https://github.com/jbogard/MediatR/tree/master/test
- OWASP Web Security Testing Guide
- Threat Modelling
- Threat Modeling Tool
- Awesome Fuzz Testing
- Awesome Fuzz Testing
- Payload samples
- Dynamic Application Security Testing (DAST) Software
- DevSecOps Tools
- Secure DevOps
- DevSecOps controls
- GitHub Advanced Security
- Static Application Security Testing (SAST) Software
- Ethical Hacking:
- Online Tool Sample: https://pentest-tools.com/
- DAST Tools: