我的测试共享一个公共资源,不能同时执行。这些测试失败了cargo test
,但与RUST_TEST_THREADS=1 cargo test
一起使用。
我可以修改测试以等待全局互斥锁,但如果有更简单的方法强制cargo
为我设置此环境变量,我不想让它们混乱。
答案 0 :(得分:8)
从Rust 1.18开始,没有这样的东西。实际上,甚至没有更简单的选项来禁用并行测试 Source
然而,可能对您有帮助的是cargo test -- --test-threads=1
,这是您在RUST_TEST_THREADS
envvar上做的事情的推荐方式。请记住,这只会将用于测试 的线程数设置为主线程。