Skip to content

Latest commit

 

History

History
23 lines (19 loc) · 652 Bytes

README.md

File metadata and controls

23 lines (19 loc) · 652 Bytes

Overview

This repo serves as a tutorial of how to use golang interfaces in order to achieve a modular and testable code. the code is divided into 3 parts:

  1. phase 1 - the basic implementation of a s3 downloader. The s3 downloader is a simple program that downloads an object from aws s3 bucket and saves it to a file.
  2. phase 2 - the same program but with interfaces and unit tests.
  3. phase 3 - the same program as in phase 2 with more code refactoring and better tests coverage.

Running the tests

phase 2

make test_phase_2

phase 3

make test_phase_3

Inspecting code coverage

make test_with_coverage