rust test with features

wangki·2025년 2월 4일
0

Rust

목록 보기
15/56

개요

Rust의 Cargo에서는 features를 활용하여 특정 기능을 활성화하거나 비활성화 할 수 있다. 이 기능을 활용하면 조건부 컴파일이 가능하고, 불필요한 코드 실행을 막을 수도 있다. 본 글에서 features를 활용하여 특정 기능을 포함한 테스트를 실행하는 방법을 알아보겠다.

해결

[features]
test = []

대괄호에는 test feature가 활성화 될 때 추가로 활성화 되는 feature를 말한다.
아무것도 넣지않으면 종속성이 없다는 의미이다.

예를 들어

#[cfg(feature = "test")]
pub fn test_func() -> String{
    "test".to_string();
}

위 함수를 테스트하려고 한다.

#[cfg(test)]
pub mod test {
    #[cfg(feature = "test")]
    #[test]
    fn test_feature() {
        assert_eq(test_func().as_str(), "test");
    }
}

ternminal에서

cargo test --features "test"
위와 같이 실행하면 된다.

결론

features를 통해 효율적으로 mod를 제어할 수 있고
테스트하는 방법도 알아보았다.

끝.

0개의 댓글