Manabie Tech Blog

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

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 →

Snapshot test your Postgresql in Golang pgx driver

If your unit-test understand SQL syntax, you can cover many behaviors of your code without the need of starting a real DB. Want to understand Postgresql syntax? just simply import Postgresql parser to your program, https://github.com/pganalyze/pg_query_go helps you to do that. How about using a containerized DB? Sometimes, the repository layer doesn’t have much logic (maybe concat some WHERE conditions), only propagate the SQL statement to DB. Testing with a simple containerized DB is a good option where you can: Read more →