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

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

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

<go />
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 의 구분이 없이, 그냥 두 파라미터를 비교합니다.

<go />
#[cfg(test)] mod tests { #[test] fn mul_test() { assert_eq!(2 * 3, 5); // 에러 } }
<code />
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

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