top of page
Search
Shai Yallin
Sep 45 min read
Acceptance-Testing NestJS Microservices
Acceptance Testing multiple NestJS Microservices by running them a single process communicating via a memory fake.
34 views0 comments
Shai Yallin
Sep 34 min read
Using Contract Tests for reliable memory fakes
How to make sure that memory-based fakes really behave like the production implementations they replace
29 views0 comments
Shai Yallin
Sep 36 min read
Fast and Furious Acceptance Tests for NestJS applications
Writing memory-based black-box acceptance tests for NestJS apps, testing features rather than implementation details
38 views0 comments
Shai Yallin
Apr 23 min read
Unit Tests Considered Harmful
Unit tests couple us to implementation detail, restrict refactoring and don't assert that features work. Prefer bigger-scoped tests.
7,103 views5 comments
Shai Yallin
Mar 183 min read
Of Rigid Microservices and Flexible Monoliths
Microservices incur significant overheads in costs of change, runtime and complexity. Start with a monolith and break it down when needed.
618 views1 comment
Shai Yallin
Jun 11, 20236 min read
Case Study: Testing the Codium.AI VS Code Extension
How I wrote tests for a VS Code extension that relies on a React.js WebView as its UI, using Playwright, Mocha and some HTTP hacking
345 views0 comments
Shai Yallin
May 2, 20236 min read
Fake, Don't Mock
Fakes are complete implementations of an API used to replace IO-bound adapters with memory-bound doubles to facilitate Acceptance Testing
2,196 views0 comments
Shai Yallin
Mar 19, 20233 min read
Learning Tests: better than benzos
Learning Tests are an easy and useful methodology for integration with new and unknown APIs, reducing stress and improving feedback times.
77 views0 comments
Shai Yallin
Mar 10, 20236 min read
Flutter: a love story
How I learned Flutter to create an iOS app for usage during concerts with my band, using TDD and Acceptance Testing.
262 views0 comments
Shai Yallin
Aug 28, 20226 min read
Chronomatic: my side-project story
How I used React with TypeScript and Firebase to build my own client management system, using TDD and Acceptance Testing.
651 views1 comment
Shai Yallin
Jul 19, 20224 min read
Beautiful Object Builders in TypeScript
Fixture test data create stale and outdated data, and make tests unreliable. Object Builders are a better way, here's how to use them.
735 views0 comments
Shai Yallin
Jan 5, 20229 min read
Case Study: Versatile CraneView Refactoring
How I helped Versatile remove fear of change in a key subsystem by introducing TDD and refactoring to Hexagonal Architecture.
995 views0 comments
Shai Yallin
Nov 23, 20216 min read
Your Software as a Kitchen
When there are too many dirty pots and plates in the sink, it's impossible to clean them. It's the same with software and technical debt.
1,245 views0 comments
Shai Yallin
Feb 1, 20216 min read
Permanent Prototypes
Prototypes are a lie; when it's good enough for production, it *becomes* production. Here's how to make them easily maintainable.
1,703 views0 comments
Shai Yallin
Nov 4, 20209 min read
Big Design Up-Front or Emergent Design? Hexagonal Architecture Gives Us Both
Hexagonal Architecture allows us to separate pure logic from external constraints and enables writing fast, integrative acceptance tests.
993 views0 comments
bottom of page