1
다음 코드를 테스트하려면 어떻게해야합니까?Elixir에서 다중 행 출력을 테스트하려면 어떻게해야합니까?
["one", "two", "three"]) |> Enum.each(&IO.puts(&1))
one
two
three
:ok
내 시험은 현재 다음과 같습니다, 그러나 아마 IO.puts
반환 :ok
오히려 그 문자열 및 완전한 문자열에 개행 문자를 포함하지 않기 때문에 실패합니다.
assert ["one", "two", "three"]) |> Enum.each(&IO.puts(&1)) == """
one
two
three
"""
아마도 IO.puts
은이 사용 사례에 대한 잘못된 기능입니다. 그렇다면 어떤 대안을 사용할 수 있습니까?
미리 감사드립니다.
위대한 답변을 주셔서 감사합니다. doctest가 선행 공백을 처리 할 수있는 방법이 있습니까? "my_string" – FelixFortis
혼란에 대해 유감스럽게 생각하고, doctest는 (더 이상?) 캡처 io를 지원하지 않습니다. 나는 doctest에 관한 부분이 틀렸기 때문에 나의 대답을 편집했다. –