Skip to content

Tools

A list of tools, frameworks and more where I had good experience with or I got recommendation from others.

Documentation as Code (DoC)

Infrastructure as Code (IaC)

Mail Send

  • SendGrid - A cloud-based email delivery service designed for sending transactional and marketing emails at scale.
  • mailtrap - Primarily used by developers and QA professionals for testing email functionality in development and staging environments without sending emails to real users.
  • smtp4dev - the fake SMTP email server for development and testing.

Document Generation

Contract Testing (over multiple APIs)

  • Pact
    • Contract testing can partially be achieved by Integration tests by using anonymous (or test) entities instead of instances of the real class => Test still green --> contract violation

IdP

  • Duende Identity Server
  • (Azure B2C) rather bad experience (especially for heavy customization / personalization)

Messaging

Feature toggling

Others recommendations

Vulnerability monitoring

SAST (Static Application Security Testing)
DAST (Dynamic Application Security Testing)
IAST (Interactive Application Security Testing)
SCA (Software Composition Analysis)

  • Configure in repo if possible (gitlab, github, azure DevOps)
  • mend.io (formerly Whitesource) - Has established itself in the .NET world
  • SNYK
  • Trivy

Licences

  • Configure in repo (e.g. Gitlab) and define which licenses are ok. Repo should provide info if other licences are detected

Testing / Mocking

  • Respawn - To reset test data in integration tests (faster than DB deletion/re-creation or table truncation).
  • Bogus vs. AutoFixtures
  • Moq.AutoMocker
  • WireMock.Net - mimics the behaviour of an HTTP API

Never used or recommended so far but maybe useful:

  • NetArchTest - allows you to create tests that enforce conventions for class design, naming and dependency in .Net code bases.

Resilience

  • Polly
  • Microsoft.Extensions.Http.Resilience
    • https://www.youtube.com/watch?v=kNzssE7Ir60
    • See: https://learn.microsoft.com/en-us/dotnet/core/resilience/http-resilience?tabs=dotnet-cli

OpenAPI GUI

  • Swagger ,but since it is no longer default starting with .NET9 we might also consider Scalar

Benchmark