germsvel
Hi there,
I’ve been working on a Test-Driven Development with Phoenix book. It teaches TDD and BDD by building a chat app from the outside-in. It’s still a work in progress, but the overall TDD process is clear, and the application that we build throughout the book is fully functional. So, I believe people can already benefit from it.
The book is freely available online at tddphoenix.com.
If you’re interested in the process of writing it, I talked some about it in episode 18 of the Thinking Elixir podcast
I hope some find it helpful.
Trending in Books
Bruce A. Tate @redrapids and Sophie DeBenedetto @SophieDeBenedetto
edited by Jacquelyn Carter @jkcarter
The days of the traditional requ...
New
Other Trending Topics
Edit: 2026 May 15 - This post is archived.
Mob is alive!!
Main docs: mob v0.7.11 — Documentation
A bit of explanation for the slightly c...
New
A little off-topic, but I feel like people here have a good head on their shoulders.
I used to be quite good at making software. Was luc...
New
Hey. Is there anyone here who creates agents in their apps? Not talking about using agents, but creating them. I’m finding it pretty diff...
New
I fully migrated to my own harness from Anthropic/Gemini and I think it’s time to share it. Welcome DSH, the DeepSeek Harness, fully writ...
New
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
There has been a thread to discuss the Stack Overflow Developer Survey on this forum every year since 2018, so here’s yet another one for...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #library
- #deployment
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #podcasts
- #javascript
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #ai
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #blog-post
- #elixirconf-us
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #elixirconf-eu
- #api
- #forms
- #security
- #metaprogramming










Showing Posts 1 to 10- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
imartinat
It seems awesome. Thanks for this great free book.
imartinat
I really like your book and the explanations. The first time I tried to use Wallaby, I had an error "
Wallaby can’t find phantomjs" . So I installed chromedriver and I setup Wallaby using chromedriver. It might be good to update your book to setup Wallaby with phantomjs or chromedriver. Thanks again for your book.
joelwallis
This is awesome! I’m learning Phoenix and I currently struggle to put TDD into practice.
I’ll definitely be reading your book. Thank you!
germsvel
Thanks! I definitely need to add a little note about that at the beginning. It’ll be there when I push the next set of changes.
idlehands
Fantastic! I will try to take a look soon and then share it out as a resource. Thank you!
Qqwy
Thank you very much for creating this!
Very nice
The one piece of feedback I would like to share after reading through it (some sections thoroughly, some sections skimmingly) is that you do not mention property-based testing. Even if only as a footnote, mentioning it might help people to discover it as one more cool tool for their testing toolbox.
mstibbard
I can’t seem to get this working at all… Even with chromedriver and phantomjs installed.
imartinat
I am on a mac, I installed Chromedriver and moved it to /usr/local/bin (or you need to add it to your PATH).
And in config.exs, I added
mstibbard
Thanks, adding that to config/test.exs & chromedriver to PATH changed the error message at least!!
germsvel
What version of Wallaby are you using?
In version 0.25 and newer, Chrome stopped being experimental, so the config changes to
If that doesn’t fix the issue, make sure you include the following in your
test/test_helper.exs:That your
config/test.exsfile hasserver: trueand thesql_sandboxflag:And then use that flag in your endpoint:
Hopefully, just one of those steps is missing. Wallaby’s setup docs are pretty good. So check them out if you still have problems.