gitwtfhub

wtf is play-scala-compile-di-with-tests?

lrytz/play-scala-compile-di-with-tests — explained in plain English

Analysis updated 2026-07-18 · repo last pushed 2017-02-09

ScalaAudience · developerComplexity · 3/5DormantSetup · moderate

TL;DR

A Play Framework example showing how to wire Scala app dependencies explicitly at compile time, including how to keep that setup working with ScalaTest.

Mindmap

mindmap
  root((repo))
    What it does
      Compile-time DI
      Explicit wiring
      Testable components
      MyComponents pattern
    Tech stack
      Scala
      Play Framework
      ScalaTest
    Use cases
      Wire controllers manually
      Write integration tests
      Avoid DI magic
    Audience
      Scala developers
      Backend engineers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Wire controllers, routing, and services explicitly in a MyComponents class instead of using runtime dependency injection.

REASON 2

Catch dependency wiring mistakes at compile time before the app even runs.

REASON 3

Spin up a fresh app instance per test suite using custom ScalaTest helpers.

REASON 4

Migrate an existing Play app away from convention-based automatic dependency injection.

What's in the stack?

ScalaPlay FrameworkScalaTest

How it stacks up

lrytz/play-scala-compile-di-with-testscakiki/databasejanikdotzel/akka-http-quickstart-scala
LanguageScalaScalaScala
Last pushed2017-02-092026-03-132023-05-19
MaintenanceDormantMaintainedDormant
Setup difficultymoderateeasyeasy
Complexity3/52/52/5
Audiencedeveloperresearcherdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · moderate Time to first run · 1h+

Requires understanding manual dependency wiring instead of Play's default runtime DI, which has a learning curve.

Yoink these prompts

Prompt 1
Help me set up a MyComponents class in Play Framework that wires a controller to its service and database dependencies.
Prompt 2
Show me how to write a ScalaTest helper that spins up a fresh Play app instance for each test suite.
Prompt 3
Explain how compile-time dependency injection in this project catches wiring errors before runtime.
Prompt 4
Walk me through using the web client from MyComponents to make real HTTP requests inside an integration test.

Frequently asked questions

wtf is play-scala-compile-di-with-tests?

A Play Framework example showing how to wire Scala app dependencies explicitly at compile time, including how to keep that setup working with ScalaTest.

What language is play-scala-compile-di-with-tests written in?

Mainly Scala. The stack also includes Scala, Play Framework, ScalaTest.

Is play-scala-compile-di-with-tests actively maintained?

Dormant — no commits in 2+ years (last push 2017-02-09).

How hard is play-scala-compile-di-with-tests to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is play-scala-compile-di-with-tests for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.