Do you want to pick up from where you left of?
Take me there

강의: 테스트

장애에 강하고 확장성 있는 코드를 작성하기 위한 첫 발걸음은 버그에서 자유로운 코드를 작성하는 것입니다. 이 강의에선 Elixir 코드를 테스트하는 최고의 방법을 알아봅니다.

테스트

소프트웨어 개발에서 테스트는 아주 중요합니다. 이번 수업에서는 ExUnit을 사용해서 Elixir 코드를 테스트하는 방법과 테스트하는 데 있어서 가장 효율적인 절차를 함께 살펴보도록 하겠습니다.

Bypass

애플리케이션을 테스트할 때 외부 서비스에 요청해야 하는 경우가 종종 있습니다. 예상치 못한 서버 오류와 같은 다양한 상황을 시뮬레이션 하고싶을 수도 있습니다. Elixir는 이러한 상황을 효율적으로 처리하기 위해 약간의 도움이 필요합니다.

이 단원에서는 bypass가 테스트에서 이러한 요청을 빠르고 쉽게 처리하는데 있어서 어떻게 도움이 되는지 탐구할 것입니다

Mox

Mox는 동시성 있는 목(mock) 설계를 위한 Elixir 라이브러리입니다.

StreamData

ExUnit과 같은 예제 기반 테스트는 코드가 생각한 대로 동작하는지 확인하는 훌륭한 도구입니다. 그러나 예제 기반 테스트에는 몇 가지 단점이 있습니다.

  • 몇 가지 입력만 테스트하기 때문에 엣지 케이스를 놓치기 쉽습니다.
  • 요구사항을 충분히 고려하지 않고 테스트를 작성할 수 있습니다.
  • 하나의 함수에 대해 여러 예제를 사용하는 경우 테스트가 장황해질 수 있습니다.

이 단원에서는 StreamData가 이러한 단점을 어떻게 극복하는지 알아보겠습니다.