17个版本 (5个稳定)

3.1.1 2024年4月27日
3.0.0 2024年1月6日
2.0.0 2023年3月30日
1.0.0 2023年1月17日
0.1.0 2018年12月30日

测试类别中排名7

Download history 385023/week @ 2024-05-03 400795/week @ 2024-05-10 456461/week @ 2024-05-17 450392/week @ 2024-05-24 477558/week @ 2024-05-31 470291/week @ 2024-06-07 442308/week @ 2024-06-14 460941/week @ 2024-06-21 442381/week @ 2024-06-28 418497/week @ 2024-07-05 419342/week @ 2024-07-12 443844/week @ 2024-07-19 437962/week @ 2024-07-26 407691/week @ 2024-08-02 484472/week @ 2024-08-09 389994/week @ 2024-08-16

每月下载量1,806,040
795个crate(750个直接)中使用795

MIT许可证

40KB
929

serial_test

Version Downloads Docs MIT license Build Status MSRV: 1.68.2

serial_test 允许使用 serial 属性创建序列化Rust测试,例如。

#[test]
#[serial]
fn test_serial_one() {
  // Do things
}

#[test]
#[serial]
fn test_serial_another() {
  // Do things
}

#[tokio::test]
#[serial]
async fn test_serial_another() {
  // Do things asynchronously
}

具有 serial 属性的多个测试将被顺序执行。但是,测试的顺序没有保证。具有 parallel 属性的其他测试可以同时运行,但不能与具有 serial 属性的测试同时运行。没有属性的测试可以在任何时间运行,并且对其执行时间没有保证!两者都支持可选键来定义一起顺序运行的测试子集,更多详细信息请参阅文档。

对于像doctests和集成测试这样的情况,其中测试作为单独的进程运行,我们也支持 file_serial,具有类似属性但基于文件锁定。请注意,由于它们使用不同的方法锁定,因此没有关于具有 serial 的一个测试和具有 file_serial 的另一个测试的保证。

所有属性也可以应用于 mod 级别,并将自动应用于该块中的所有测试函数。

用法

这里支持的最小Rust版本是1.68.2。请注意,这是最小 支持的 版本,因为它们可能很好地编译,但它们根本不受支持。升级到该版本将需要主版本号的增加。如果需要比1.x更低的版本,则1.x支持1.51。

将其添加到Cargo.toml

[dev-dependencies]
serial_test = "*"

并在您的导入部分添加 use serial_test::serial;

您可以根据需要,将以下内容添加到测试中:#[serial] 或者 #[serial(some_key)]

依赖项

~1.6–8MB
~61K SLoC