#TIL #elixirlang 긴 코드를 편하게 테스트하기
elixir 대화형 셸(interactive shell)인 iex를 사용하면 코드를 evaluation해서 모듈을 실시간으로 추가할 수 있고 실행할 수 있다. iex 프로그램을 실행한다. 함수를 실행한다. 코드를 수정한다. 다시 컴파일한다. 함수를 실행한다. 이런 빠른 이터레이션이 iex 안에서 가능하다.
간단한 코드면 괜찮은데, 긴 코드면 매번 iex 셸에서 입력하는 것도 귀찮아진다. iex 입력 히스토리를 기억해서 이전 히스토리를 뒤져 다시 실행하면 되지만 히스토리는 줄 단위로 기록된다. 여러 줄에 걸쳐 입력한 코드는 여러 번 히스토리를 뒤져야 한다.
elixir 스크립트 파일(.exs)을 만들어서 min run
으로 실행하면 된다.
query = from t in "tracks",
join: a in "albums", on: t.album_id == a.id,
where: t.duration > 900,
select: [t.id, t.title, a.title]
이런 코드를 priv/playground.exs
파일로 저장한다.
$ mix run priv/playground.exs
mix run
으로 실행한다. mix run은 애플리케이션 종속성과 애플리케이션을 시작한 상태에서 추가로 특정 코드를 실행해 준다. 긴 코드도 편하게 테스트해 볼 수 있다. Programming Ecto(2019) 책에서 배웠다.