如何使货物测试仅显示运行的测试?

San*_*jay 6 rust

我运行cargo test并在实际测试文件之前和之后得到这个垃圾:

root@ub:~/backend/utils# cargo test
    Finished test [unoptimized + debuginfo] target(s) in 0.21s
     Running unittests (target/debug/deps/utils-d206bcff05f45684)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/helpers.rs (target/debug/deps/helpers-21ab86543f613060)

running 1 test
test tests::test_add ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests utils

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Run Code Online (Sandbox Code Playgroud)

那么看到那两个人了running 0 tests吗?我怎样才能删除它们并只显示运行的实际测试?

Kev*_*eid 4

这是减少额外输出量的方法:如果特定目标(库、二进制文件)没有任何测试,那么您可以通过以下方式禁用在其中运行测试Cargo.toml

\n
[lib]\ntest = false\ndoctest = false\n\n[[bin]]\nname = "my-binary"\ntest = false\n
Run Code Online (Sandbox Code Playgroud)\n

这将消除 输出中的 \xe2\x80\x9crunning 0tests\xe2\x80\x9d 部分cargo test

\n

当然,这会产生这样的风险:您稍后会发现您编写了一个测试但它没有运行,但是通过采用测试驱动开发的习惯(即编写您知道会首先失败的测试)可以帮助解决这一问题。

\n

  • 当您过滤运行哪些测试时,例如当您想要运行正在处理的特定单元测试时,垃圾邮件“运行 0 个测试”仍然是一个问题。 (6认同)