macro_rules! with_settings {
    ({$($k:ident => $v:expr),*$(,)?}, $body:block) => { ... };
}
Expand description

Settings configuration macro.

This macro lets you bind some Settings temporarily. The first argument takes key value pairs that should be set, the second is the block to execute. All settings can be set (sort_maps => value maps to set_sort_maps(value)). The exception are redactions which can only be set to a vector this way.

This example:

insta::with_settings!({sort_maps => true}, {
    // run snapshot test here
});

Is equivalent to the following:

let mut settings = Settings::clone_current();
settings.set_sort_maps(true);
settings.bind(|| {
    // run snapshot test here
});

Note: before insta 0.17 this macro used Settings::new which meant that original settings were always reset rather than extended.