Session
Getting maximum mileage from a minimal number of tests
🚀 Discover an automated testing strategy that enables you to test complex e2e flows, involving multiple executables, all in-memory, fast and also enjoyable to use!
Imagine a unit test where rather than the 'unit' being as small as possible, it is as large as possible, actually potentially multiple executables! A single test can cover the whole happy path flow of a complex piece of orchestration, from API handlers, service bus handlers, database calls etc, all in-memory, fast and with a nice fluent developer experience!
I start by outlining a realistically complex scenario of a distributed/cloud app with an API, an EventListener and an Outbox and a couple of external dependencies.
I cover how to construct a test framework and use of various libraries to help. I cover how to create Given, When and Then classes to organise re-usable code, leading to tests which read like concise plain English. I demonstrate ways to Fake Azure Service Bus behaviour and how to wire up API calls between components of the system under test, also options for database contexts and how to use the FakeTimeProvider to bend time to your will to create stable tests even for temporally complex scenarios. Because everything including the Program.cs and startup code are effectively tested we can spot configuration and IoC issues which are hard to test with more traditional methods.
This session will include slides with code snippets and live debugging demos, quite possibly also some live coding
I need enough space for my laptop, mouse and a small external monitor, at standing height

Andrew Poole
Senior Backend Engineer @ Flagstone, ex-ClearBank
Street, United Kingdom
Links
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top