
travisjeffery
Distributed Services with Go: Testing chapters
Hey y’all, just wanted to provide some context for removing the testing chapters from the table of contents.
For all books PragProg has authors write a proposal that includes a planned table of contents. At this early stage I wasn’t sure whether to put testing in their own chapters or to write tests as we went through the book/project.
When I’m writing code or building a project I would write tests as I go of course and I’d want someone learning programming from this book to do so as well, so when I began writing the book it was natural to write the tests as we went.
After finishing all the other chapters I realized I’d covered most of what I wanted on testing already in the other chapters and there wasn’t much point for adding dedicated testing chapters that’d mostly reference code we had already written.
After I finish the initial draft, I’ll go back to the existing testing code/sections in the book and add to anywhere I held back because I thought there would be dedicated testing chapters coming up.
I also like the flow of the book now where we begin with nothing and end the book by deploying our service to the internet, it’s a complete story.
Thanks.
Marked As Solved

Margaret
Hi Travis @travisjeffery,
Your post provides some really cool glimpses of what it is like to write a book in addition to explaining your logic for moving testing topics. DevTalk has a new Content Creators forum area if you feel like sharing more of what it is like to write a book (while it is fresh in your mind). Just a thought.
Best,
Margaret @marg
Popular Prag Prog topics










Other popular topics










Latest in PragProg
Latest (all)
Categories:
Popular Portals
- /elixir
- /rust
- /wasm
- /ruby
- /erlang
- /phoenix
- /keyboards
- /js
- /rails
- /python
- /security
- /go
- /swift
- /vim
- /clojure
- /java
- /haskell
- /emacs
- /svelte
- /onivim
- /typescript
- /crystal
- /c-plus-plus
- /tailwind
- /kotlin
- /gleam
- /react
- /flutter
- /elm
- /ocaml
- /vscode
- /opensuse
- /ash
- /centos
- /php
- /deepseek
- /zig
- /scala
- /html
- /debian
- /nixos
- /lisp
- /agda
- /textmate
- /react-native
- /sublime-text
- /kubuntu
- /arch-linux
- /revery
- /ubuntu
- /manjaro
- /django
- /spring
- /diversity
- /lua
- /nodejs
- /julia
- /c
- /slackware
- /neovim