2.1 Three kinds of test
| Test | What it builds | What it catches |
|---|---|---|
| Unit | One junction, with its dependencies passed in by hand | A junction that computes the wrong thing |
| Train | The train, through the same AddTrax registration as Program.cs | A chain that does not run as a whole, a run that is not recorded |
| Host | The whole application, in memory, called over HTTP | A Program.cs that no longer starts, an endpoint that answers wrongly |
Most tests are unit tests: they are fast and say exactly what broke. A few train and host tests prove the pieces still fit.