DataScience
Published 2023. 7. 5. 12:17
[Rust] asser_eq! Rust
728x90

assert!(식) 매크로는 "식"에 있는 값이 true이면 테스트가 성공한 것으로 여기고, false 이면 에러인 것으로 취급합니다.

assert_eq!() 혹은 assert_ne!() 매크로는 2개의 파라미터를 받아들여 에러가 난 경우 두 파라미터의 값이 어떻게 다른지 출력해 줍니다.

assert_eq!(rect.left(), 4);
assert_eq!(rect.top(), 5);
assert!(rect.contains(rect.left(), rect.top()));

 

 

assert_eq!() 매크로는 실패하면 아래와 같이 좌, 우 파라미터가 어떻게 다른지 자세하게 출력하게 됩니다. Rust의 assert 매크로는 (다른 test framework과 달리) expected vs actual 의 구분이 없이, 그냥 두 파라미터를 비교합니다.

#[cfg(test)]
mod tests {
    #[test]
    fn mul_test() {
        assert_eq!(2 * 3, 5);  // 에러
    }
}
test tests::mul_test ... FAILED
    
    failures:
    
    ---- tests::mul_test stdout ----
    thread 'tests::mul_test' panicked at 'assertion failed: `(left == right)`
    left: `6`,
    right: `5`', src\lib.rs:48:9
    note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
profile

DataScience

@Ninestar

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!