Elm 트랙에서 테스트하기

Exercism에서 Elm 연습 문제를 테스트하는 방법을 배워요


Elm 프로젝트의 테스트는 그 프로젝트의 tests/ 하위 디렉터리에 있어요. 각 연습 문제의 테스트 모음은 해당 연습 문제의 루트 디렉터리에서 실행할 수 있어요.

$ cd ~/exercism/elm/hello-world
$ elm-test

변경 사항 감시하기

변경 사항을 저장할 때마다 테스트를 자동으로 다시 실행해요:

$ elm-test --watch

테스트 주도 개발 흐름

대부분의 연습 문제에서 테스트는 이미 tests/Tests.elm 파일에 작성되어 있어요. 목표는 src/<exercise>.elm 파일에 필요한 코드를 작성해서 테스트를 통과시키는 거예요. 가장 먼저 실패하는 테스트에 집중해서 고친 다음, 테스트 파일에서 다음 skip <| 조각을 지우거나 주석 처리하고, 모든 테스트가 통과할 때까지 반복해요.

막혔을 때는?

가장 먼저 할 일은 Debug.todo가 들어 있더라도 코드가 컴파일되게 만드는 거예요. 어떤 걸 어떻게 해야 할지 모르겠다면, 그 부분을 아직 구현하지 않은 별도의 함수로 떼어내는 게 도움이 될 때가 많아요.

complexOperationOnMultipleStrings : List String -> List String
complexOperationOnMultipleStrings allStrings =
    List.map complexOperation allStrings


complexOperation : String -> String
complexOperation input =
    Debug.todo "Extracted operation into its own function"

이렇게 떼어낸 함수에 타입 주석을 붙이면 생각을 정리하는 데도 도움이 되고, 컴파일러가 더 나은 오류 메시지를 보여줘요.

코드 정리하기

제출하기 전에 코드에 elm-format을 실행해 보고, 텍스트 에디터에 설정해서 저장할 때 자동으로 서식이 정리되게 하는 것도 좋아요.