Outside-In TDD

Whether you are already practicing TDD or you are just curious about what it’s all about, this workshop is a great opportunity to get hands-on experience with Outside-In TDD.

Outside-In TDD prescribes a direction in which we start test-driving our code: from outside (first class to receive an external request) to the inside (classes that will contain single pieces of behavior that satisfy the feature being implemented).

We normally start with an acceptance test which verifies if the feature as whole works. The acceptance test also serves as a guide for the implementation. With a failing acceptance test informing why the feature is not yet complete, we start writing unit tests. The first class to be tested is the class handling an external request.

Collaborators are identified according to all the things the class under test needs to do when its public method is invoked. Once a class is tested, we pick the first collaborator (which was created with no implementation) and test-drive its behavior, just like we did with the previous class.

Following this approach, we will build a fully functional REST API with ASP.NET Core and Entity Framework Core. So, prepare yourself for a full day of practicing TDD and pair programming!


· Introduction to Outside-In TDD (London school or Mockist)

· Describe the REST API we are going to build

· The first failing acceptance test

· Test drive the first feature with unit tests

· Implement the remaining features

· Discuss the pros and cons of using Outside-In TDD


- Visual Studio 2019

- .NET Core SDK 3.1

- Some experience with C#

- Some experience with ASP.NET Core and Entity Framework Core

- Some experience with mocking frameworks (e.g. Moq, NSubstitute)


Dragos Rogojan

Date & time 25 Feb, 9-17 Location FabLab, Room 2 Places Available 17