travisjeffery

travisjeffery

Author of Distributed Services with Go

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

Margaret

Editor at PragProg

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

Where Next?

Popular Pragmatic Bookshelf topics Top

jimschubert
In Chapter 3, the source for index introduces Config on page 31, followed by more code including tests; Config isn’t introduced until pag...
New
iPaul
page 37 ANTLRInputStream input = new ANTLRInputStream(is); as of ANTLR 4 .8 should be: CharStream stream = CharStreams.fromStream(i...
New
mikecargal
Title: Hands-On Rust (Chap 8 (Adding a Heads Up Display) It looks like ​.with_simple_console_no_bg​(SCREEN_WIDTH*2, SCREEN_HEIGHT*2...
New
joepstender
The generated iex result below should list products instead of product for the metadata. (page 67) iex> product = %Product{} %Pento....
New
gilesdotcodes
In case this helps anyone, I’ve had issues setting up the rails source code. Here were the solutions: In Gemfile, change gem 'rails' t...
New
New
brunogirin
When I run the coverage example to report on missing lines, I get: pytest --cov=cards --report=term-missing ch7 ERROR: usage: pytest [op...
New
adamwoolhether
Is there any place where we can discuss the solutions to some of the exercises? I can figure most of them out, but am having trouble with...
New
AufHe
I’m a newbie to Rails 7 and have hit an issue with the bin/Dev script mentioned on pages 112-113. Iteration A1 - Seeing the list of prod...
New
s2k
Hi all, currently I wonder how the Tailwind colours work (or don’t work). For example, in app/views/layouts/application.html.erb I have...
New

Other popular topics Top

PragmaticBookshelf
Brace yourself for a fun challenge: build a photorealistic 3D renderer from scratch! In just a couple of weeks, build a ray tracer that r...
New
PragmaticBookshelf
Ruby, Io, Prolog, Scala, Erlang, Clojure, Haskell. With Seven Languages in Seven Weeks, by Bruce A. Tate, you’ll go beyond the syntax—and...
New
siddhant3030
I’m thinking of buying a monitor that I can rotate to use as a vertical monitor? Also, I want to know if someone is using it for program...
New
DevotionGeo
I know that -t flag is used along with -i flag for getting an interactive shell. But I cannot digest what the man page for docker run com...
New
PragmaticBookshelf
From finance to artificial intelligence, genetic algorithms are a powerful tool with a wide array of applications. But you don't need an ...
New
PragmaticBookshelf
Build efficient applications that exploit the unique benefits of a pure functional language, learning from an engineer who uses Haskell t...
New
Help
I am trying to crate a game for the Nintendo switch, I wanted to use Java as I am comfortable with that programming language. Can you use...
New
AstonJ
If you want a quick and easy way to block any website on your Mac using Little Snitch simply… File > New Rule: And select Deny, O...
New
AstonJ
If you’re getting errors like this: psql: error: connection to server on socket “/tmp/.s.PGSQL.5432” failed: No such file or directory ...
New
AstonJ
This is a very quick guide, you just need to: Download LM Studio: https://lmstudio.ai/ Click on search Type DeepSeek, then select the o...
New

Sub Categories: