[rust] 러스트 코드의 테스트 방법

러스트 언어는 테스트를 작성하고 실행하는 데 사용하기 편리한 테스트 프레임워크를 제공합니다. 러스트 코드의 테스트를 작성하는 방법과 테스트를 실행하는 방법에 대해 알아보겠습니다.

테스트 작성하기

러스트에서는 각 모듈에 대한 단위 테스트를 작성하는 것이 보편적입니다. 테스트 함수는 보통 해당 모듈의 테스트 모듈 내에 작성됩니다. 예를 들어, add 함수의 단위 테스트는 보통 add 함수가 정의된 모듈 내에 작성됩니다.

아래는 예시 add 함수와 그에 대한 테스트 함수의 코드입니다.

// src/lib.rs

pub fn add(a: i32, b: i32) -> i32 {
    a + b
}

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn test_add() {
        assert_eq!(add(2, 3), 5);
        assert_eq!(add(-1, 1), 0);
        assert_eq!(add(-5, -5), -10);
    }
}

위 예시에서 test_add 함수는 add 함수의 동작을 테스트하는 역할을 합니다. assert_eq! 매크로는 함수의 반환값이 기대값과 일치하는지를 검사합니다.

테스트 실행하기

러스트에서는 테스트 실행을 위해 cargo test 명령어를 사용합니다. 이 명령어는 프로젝트 내의 모든 테스트를 찾아 실행하고, 실행 결과를 보고해 줍니다.

터미널에서 다음 명령어를 실행하여 테스트를 실행할 수 있습니다.

cargo test

테스트 실행 결과는 테스트가 통과했는지 또는 실패했는지에 대한 정보를 보여줍니다.

러스트 언어에서 테스트 작성과 실행은 프로젝트의 안정성을 유지하는 데 중요한 부분이며, 테스트 프레임워크를 통해 쉽고 효율적으로 테스트를 작성하고 실행할 수 있습니다.

참고 자료