041: Go Build Tags

In this episode we use Go build tags to control what tests we run in different situations. Allowing to run Unit Tests separately from End to End, Integration and Pact tests.

The code produced during this episode can be found on GitHub

038: Pact HTTP Consumer Testing (Golang)

The is a first in a series of screencasts in which we look at API and Microservice testing framework called Pact.

In this video we start looking at using Pact to test drive the implementation of a HTTP consumer in of our Book API in Golang.

This recording end a bit abruptly as I took a phone call and forgot to restart recording for the last few minutes of explaining the pact file.

The code produced during this episode can be found on GitHub

036: End to End Testing REST API (Part 4)

In this episode of Testing All The Things we continues to use Test Driven Development (TDD) to drive out the implementation the simple HTTP REST(ish) API in Go using Gorilla Mux.

In this video we use end to end testing to drive out the functionality to validate the ISBN that is requested. During the video we create a Business Logic layer to validate the incoming ISBN to separate the knowledge of the HTTP layer into the REST Handler and keep the database code in its own code. We use Unit Tests to drive out the implementation of the new business logic code.

The code produced during this episode can be found on GitHub

035: End to End Testing REST API (Part 3)

In this episode of Testing All The Things we continues to use Test Driven Development (TDD) to drive out the implementation the simple HTTP REST(ish) API in Go using Gorilla Mux.

In this video we use Unit and Integration test to move the code that gets book data from the database into different places. We first create a HTTP Handler using Unit test. In the second part we create something to retrieve a book from the database by its ISBN using integration tests. Finally we remove the old code that our end to end test drove out in the previous video and get the application working with the new code we write in this episode.

The code produced during this episode can be found on GitHub

Episode 021: End to End & Integration Testing a REST API

In this episode we continue to use Test Driven Development (TDD) to drive out the implementation the simple HTTP REST(ish) API microservice in PHP.

We add a new endpoint GET to retrieve a book by its ISBN.

Starting with an End to End Test write using PHP Unit and Guzzle HTTP Client for PHP to design out how consumers of the API will interact with the endpoint.
We then add an Integration test to ensure our code uses Doctrine PHP ORM to interact with the Postgres database to get the book data.

Finally we add a Unit Test to the Book object to enable it to render itself into JSON using PHP’s JsonSerializable interface.

Don’t miss the excellent demonstration why we need to use different types of test at 33.15 the moment all the Unit Tests pass and the End to End Tests still fails

The code produced during this episode can be found on GitHub