Manabie Tech Blog

Sharing the humble technical knowledge we’re using to improve education

Test Coverage of Go Services during Integration Tests

Test Coverage of Go Services during Integration Tests In Golang, getting code coverage with go test is easy. But it’s still rather hard for integration tests. Here I want to introduce the method we used at Manabie to measure the code covered by our integration tests across many microservices. About our integration tests At Manabie we use Kubernetes for container orchestration. To perform integration tests, we deploy our services, and then run a test container with a go program with a whole lot of integration tests. Read more →

Why we use Cucumber for end-to-end testing?

Why we use Cucumber for end-to-end testing? Before getting to know why we use cucumber for End-to-end testing. Let’s understand what’s end-to-end testing and cucumber are. What is End to end testing? End to end testing (E2E testing) is a software testing method that validates the entire software. From the beginning to the end. The purpose of end-to-end testing is to simulate how a real user interacts with the application, list out the scenarios, and test the whole software for dependencies, data integrity and communication with other systems, interfaces, network connectivity and databases to exercise complete production like scenario. Read more →

Simulate Let’s Encrypt certificate issuing in local Kubernetes

We write test to make sure our code work as expected, no matter that a Go code or YAML config. In this series, we will show how we develop and do integration tests using local k8s. The first part will show how we simulate the HTTPS certificate issue flow to allow our Platform engineers to test their config and allow our Front-end engineers to connect their application to local server with a self-signed HTTPS certificate. Read more →