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
'Rust' 카테고리의 다른 글
[RUST]OpenCV : 'limits' file not found (26) | 2023.07.05 |
---|---|
[Rust] 동영상에 Box 그리기 (21) | 2023.07.05 |
[Rust] error: failed to run custom build command for `clang-sys v1.6.1` (80) | 2023.07.04 |
[Rust] error:linker link.exe not found (17) | 2023.07.04 |
[Rust] video-rs (94) | 2023.07.03 |