top of page
Search


Shai Yallin
Sep 4, 20245 min read
Acceptance-Testing NestJS Microservices
Acceptance Testing multiple NestJS Microservices by running them a single process communicating via a memory fake.
48 views
0 comments


Shai Yallin
Sep 3, 20244 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
36 views
0 comments


Shai Yallin
Sep 3, 20246 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
44 views
0 comments

Shai Yallin
Apr 2, 20243 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,156 views
5 comments


Shai Yallin
Mar 18, 20243 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.
623 views
1 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
363 views
0 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,292 views
0 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 views
0 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.
321 views
0 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.
659 views
1 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.
748 views
0 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.
1,000 views
0 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,257 views
0 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,708 views
0 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.
1,021 views
0 comments
bottom of page