Rust中的单元测试超时问题

3
有没有一种方法在Rust中为特定的单元测试指定超时时间?
唯一的方法是将其作为硬编码参数添加到测试用例中:https://docs.rs/ntest/0.7.2/ntest/index.html 但我想问一下是否有一种方法将其作为命令行参数提供给运行测试。 类似于: cargo test <timeout?>
1个回答

1

你可以通过 cargo test -- --help 来获取有关测试运行器的帮助。特别是你会找到以下内容:

--ensure-time   Treat excess of the test execution time limit as
                error.
                Threshold values for this option can be configured via
                `RUST_TEST_TIME_UNIT`, `RUST_TEST_TIME_INTEGRATION`
                and
                `RUST_TEST_TIME_DOCTEST` environment variables.
                Expected format of environment variable is
                `VARIABLE=WARN_TIME,CRITICAL_TIME`.
                `CRITICAL_TIME` here means the limit that should not
                be exceeded by test.

1
我认为这不是一个真正的超时,只是在超过限制时失败。但我不确定。 - Chayim Friedman
Chayim是正确的,“--ensure-time”只有在测试运行时间过长时才会被视为失败,它并不会真正终止长时间运行的测试。此外,请记住,从2023年7月起,这个选项仅适用于夜间构建,并且需要将“-Zunstable-options”传递给测试可执行文件。 - womble

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接