동기
그냥 assert Regex.match?(regex, actual)
는 true/false만 반환해서 디버깅할 때
곤란했는데, 이걸 매번 메세지로 찍어주자니 귀찮아서 아예 매쳐로 만들어 볼려고
하니 문서로 설명되어있지 않아서 정리겸..
준비
피닉스는 이미 설정 되어있어서 필요없지만 직접 만든 라이브러리라면, 루비에서처럼 require로는 못하고 mix.exs에서 로드 경로를 설정해야 한다. 테스트 환경에서만 로드하게 할려면 이렇게 하면된다.
1 | def project do |
설정후에 일단 한번 컴파일 해주자.
1 | mix compile |
매쳐 작성
내가 필요했던건 정규식으로 스트링을 검증해주는 매쳐다. test/support 안에 넣어준다. 파일명이 exs가 아니라 ex인것에 주의.
1 | defmodule ProjectName.Matcher do |
사용
평범하게 임포트해서 사용하면 된다.
1 | import ProjectName.Matcher, only: [assert_match: 2] |
끝.