The engineering notebook
RSS feed#testing
Articles, practical guides, and engineering notes on testing.
By Ashish Bhakhand 108 published articles
Explore the articles
15 articles
Reset filtersDocumentation as an Engineering Control
Turn architecture, testing, errors, and feature checklists into enforceable defaults that help a backend stay consistent as it grows.
Testing TCA Features with Controlled Dependencies and Time
Drive reducer actions directly while clocks, streams, identifiers, and clients produce deterministic effects.
Testing Room Migrations Instead of Hoping They Work
Upgrade real historical schemas and verify both data preservation and new database invariants.
Testing Flutter BLoCs Beyond the Happy Path
Test overlapping requests, retries, pagination, streams, timers, cancellation, and disposal with bloc_test, mocktail, and fake_async.
Testing Coroutine ViewModels with Controlled Dispatchers
Drive intents, virtual time, flows, cancellation, and repository outcomes deterministically.
Testing FastAPI Without Starting the Real Application
Build focused test applications, override dependencies, and test services at their natural boundaries without production infrastructure.
Why My Lambda Handlers Only Wire Dependencies
Keep handlers focused on transport concerns and dependency wiring so application behavior stays reusable and easy to test.
Deterministic Tests by Injecting Time and IDs
Replace hidden calls to the clock and random UUID generator with tiny dependencies that make Jest tests exact and repeatable.
MongoDB Behind a Repository Boundary
Keep ObjectIds, query documents, and persistence models out of business logic while preserving the capabilities MongoDB is good at.