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
每月下载量1,806,040
在795个crate(750个直接)中使用795
40KB
929 行
serial_test
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