proxy/v1_specific
下有多项测试。我必须按顺序运行它们,因为这些测试相互之间有一些影响。
cargo test --package tests --test proxy v1_specific::test1
cargo test --package tests --test proxy v1_specific::test2
cargo test --package tests --test proxy v1_specific::test3
我想知道是否有一些神奇的论点
--magic=level
cargo test --package tests --test proxy v1_specific --magic=1
# Equivalence
cargo test --package tests --test proxy v1_specific::test1
cargo test --package tests --test proxy v1_specific::test2
cargo test --package tests --test proxy v1_specific::test3
和
cargo test --package tests --test proxy v1_specific --magic=2
# Equivalence
cargo test --package tests --test proxy v1_specific::test1::subtest1
cargo test --package tests --test proxy v1_specific::test1::subtest2
cargo test --package tests --test proxy v1_specific::test2::subtest1
cargo test --package tests --test proxy v1_specific::test3::subtest1
我知道
--job=1
,我可以按顺序运行它们。但是,我可能希望 v1_specific::test1
中的所有子测试并行运行。
使用 --test-threads=1 或使用 Mutex 手动顺序运行该函数。
我使用serial_test:
cargo add --dev serial_test
然后,对于您想要顺序运行的测试:
#[tokio::test(flavor = "multi_thread", worker_threads = 2)]
#[serial]
async fn test_async_multi_threaded() {
或者,如果您只是运行普通的旧测试(我在这里包含了我的 tokio 示例,因为我花了一些时间来弄清楚如何指定线程池大小):
#[test]
#[serial]
async fn test_sync() {