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

belgoros
Following the steps described in Chapter 6 of the book, I’m stuck with running the migration as described on page 84: bundle exec sequel...
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
herminiotorres
Hi @Margaret , On page VII the book tells us the example and snippets will be all using Elixir version 1.11 But on page 3 almost the en...
New
raul
Page 28: It implements io.ReaderAt on the store type. Sorry if it’s a dumb question but was the io.ReaderAt supposed to be io.ReadAt? ...
New
herminiotorres
Hi! I know not the intentions behind this narrative when called, on page XI: mount() |> handle_event() |> render() but the correc...
New
swlaschin
The book has the same “Problem space/Solution space” diagram on page 18 as is on page 17. The correct Problem/Solution space diagrams ar...
New
brunogirin
When trying to run tox in parallel as explained on page 151, I got the following error: tox: error: argument -p/–parallel: expected one...
New
hazardco
On page 78 the following code appears: <%= link_to ‘Destroy’, product, class: ‘hover:underline’, method: :delete, data: { confirm...
New
New
New

Other popular topics Top

New
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
AstonJ
Or looking forward to? :nerd_face:
498 14002 274
New
dimitarvp
Small essay with thoughts on macOS vs. Linux: I know @Exadra37 is just waiting around the corner to scream at me “I TOLD YOU SO!!!” but I...
New
PragmaticBookshelf
Rails 7 completely redefines what it means to produce fantastic user experiences and provides a way to achieve all the benefits of single...
New
PragmaticBookshelf
Author Spotlight Jamis Buck @jamis This month, we have the pleasure of spotlighting author Jamis Buck, who has written Mazes for Prog...
New
DevotionGeo
I have always used antique keyboards like Cherry MX 1800 or Cherry MX 8100 and almost always have modified the switches in some way, like...
New
New
PragmaticBookshelf
Develop, deploy, and debug BEAM applications using BEAMOps: a new paradigm that focuses on scalability, fault tolerance, and owning each ...
New
AnfaengerAlex
Hello, I’m a beginner in Android development and I’m facing an issue with my project setup. In my build.gradle.kts file, I have the foll...
New

Sub Categories: