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