Skip to main content

assert_sometimes

Macro assert_sometimes 

Source
macro_rules! assert_sometimes {
    ($condition:expr, $message:expr$(, $details:expr)?) => { ... };
    ($($rest:tt)*) => { ... };
}
Expand description

Assert that condition is true at least one time that this function was called. (If the assertion is never encountered, the test property will therefore fail.) This test property will be viewable in the Antithesis SDK: Sometimes group.

ยงExample

use serde::Serialize;
use antithesis_sdk::{assert_sometimes, random};

// Only serialized when the assertion emits; see assert_always.
#[derive(Serialize)]
struct Details { max_allowed: u64, actual: u64 }

const MAX_ALLOWED: u64 = 100;
let actual = random::get_random() % 120u64;
let details = Details { max_allowed: MAX_ALLOWED, actual };
antithesis_sdk::assert_sometimes!(actual > MAX_ALLOWED, "Value in range", &details);