答案 0 :(得分:17)
不,据我所知,现在不容易实现。您可以将一个--test-threads
参数传递给测试工具,但它除了设置主线程外还设置了线程数。所以--test-threads=1
导致两个线程仍然存在。
所以你无法真正使用默认的测试工具。幸运的是,你可以在Cargo.toml
中禁用它。可能最好的解决方案是创建一个新文件夹(例如gltests
)并将所有需要在主线程中运行的测试放在那里。然后我们只需要在Cargo.toml
:
[[test]]
name = "gltests"
path = "gltests/main.rs"
harness = false
这意味着当您说gltests/main.rs
时,货物将尝试将main()
编译为可执行文件(期望cargo test
函数)并执行此可执行文件。通过这种方式,您将无法获得通常从货物测试中获得的任何精美输出。你只需要在main.rs
中自己做所有事情,但至少你可以在主线程中开始测试。