#retry #times #multiple #attributes #retrying #macro #testing

test_retry

用于多次重试测试的属性宏

1个不稳定版本

0.1.0 2023年3月10日

#8#retrying

MIT 许可协议

4KB

此属性宏将多次重试测试,只有当所有尝试都失败时才会失败。适用于已知因外部条件而可能失败的测试的情况。

use test_retry::retry;

#[test]
#[retry]
fn my_test() {
  assert_eq!(1, 2);
}

lib.rs:

此crate提供了一个用于在失败前多次重试测试的属性宏。

示例

默认情况下,重试将导致测试被调用三次,然后失败

use std::sync::atomic::{AtomicUsize, Ordering};

#[test]
#[retry]
fn default() {
  static COUNTER: AtomicUsize = AtomicUsize::new(1);
  assert_eq!(counter.fetch_add(1, Ordering::Relaxed), 3);
}

依赖项

~1.5MB
~35K SLoC