You probably don't need a dependency injection framework

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Stream - Scalable APIs for Chat, Feeds, Moderation, & Video.
Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
getstream.io
featured
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.
www.influxdata.com
featured
  1. 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.

    His AutoFixture C# NuGet takes away so much pain from unit test maintenance. It does have a learning curve.

    https://github.com/AutoFixture/AutoFixture

  2. Stream

    Stream - Scalable APIs for Chat, Feeds, Moderation, & Video. Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.

    Stream logo
  3. I am surprised by the DI discomfort in this thread.

    This is rough really worth understanding: https://github.com/mhevery/guide-to-testable-code/blob/main/...

    Short version: https://github.com/mhevery/guide-to-testable-code/blob/main/...

    Those were written/presented by an early google test engineer who came to the conclusion that you can't make writing tests easier, you can only make code that is more easily testable. He further believed that code that is trivially testable is higher quality code because the things that make it more testable are things that reduce overall complexity (not abusing global state, separating program structure/object graph construction from business logic execution, thinking about object lifetimes, etc.)

    Misko Hevery used to have a blog with amazing examples which he explored in depth and gave very strong justifications for every one of those tactics listed. Sad to see it is now offline, an archive might have it.

  4. Guice

    Guice (pronounced 'juice') is a lightweight dependency injection framework for Java 11 and above, brought to you by Google.

    I meant "singleton" in the sense of a single value for a type shared by anything that requires one, i.e. a Guice singleton ( https://github.com/google/guice/wiki/scopes#built-in-scopes ) not a value in global scope. Parameterless constructors prohibit you from using these (unless you have global variables).

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Grappa developer friendly assertions

    1 project | /r/Python | 3 May 2021
  • Test Driven Development with Java & Spring Boot: The Complete Guide

    1 project | dev.to | 25 Jun 2025
  • Mocktender: simplified testing using entry points

    1 project | dev.to | 25 Mar 2025
  • 🚀 10 Best Free API Testing Tools You Should Use in 2025

    2 projects | dev.to | 18 Mar 2025
  • FluentAssertions No Longer OSS

    1 project | news.ycombinator.com | 15 Jan 2025