[Rust] 단위테스트
일단 간단한 예시다.
main 함수에서는 foo 함수를 호출한다. 더없이 간단하다.
그런데 일반적인 프로그램은 함수가 수십개가 넘어가는 경우가 비일비재하다.
그럼 그렇게 만든 함수는 어떻게 테스트해야 할까?
그냥 저대로 통째로 돌리면 오류가 발생해도 탐지하기 어렵고,
테스트용 프로젝트를 따로 만들자면 또 그것도 번거로운 일이다.
러스트는 이에 대한 편리한 해결책을 제공한다.
foo만 따로 테스트하고 싶다면 #[test] 매크로를 위에 달고,
assert 매크로들을 사용해서 이런저런 유효성을 검증하면 된다.
assert! 매크로는 들어온 값이 false면 패닉을 던진다.
그리고 cargo test를 치면
이렇게 그 함수에서 패닉이 떴는지 아닌지를 확인할 수 있다.
젯브레인 IDE에선 #[test]가 붙은 함수를 실행할 수 있도록 바로 화살표를 띄워준다.
