unit-testing - 是否可以仅通过 cargo 测试运行单元测试?

标签 unit-testing testing rust

我有一个由lib和bin条板箱组成的工作区。运行 cargo test --lib会跳过二进制 crate 。

最佳答案

--bins--lib不是唯一的,您可以同时使用它们,它将在两个类别中运行测试:

$ cargo test --bins
    Finished dev [unoptimized + debuginfo] target(s) in 0.01s
     Running target/debug/deps/foo-c982c1477aaaf33d

running 1 test
test test_bins ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

$ cargo test --lib
    Finished dev [unoptimized + debuginfo] target(s) in 0.02s
     Running target/debug/deps/foo-532806c187f0c643

running 1 test
test test_lib ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

$ cargo test --bins --lib
    Finished dev [unoptimized + debuginfo] target(s) in 0.02s
     Running target/debug/deps/foo-532806c187f0c643

running 1 test
test test_lib ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

     Running target/debug/deps/foo-c982c1477aaaf33d

running 1 test
test test_bins ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

测试项目确实具有集成测试,如果未提供目标,则该集成测试会运行:

$  cargo test
   Compiling foo v0.1.0 (foo)
    Finished dev [unoptimized + debuginfo] target(s) in 0.27s
     Running target/debug/deps/foo-532806c187f0c643

running 1 test
test test_lib ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

     Running target/debug/deps/foo-c982c1477aaaf33d

running 1 test
test test_bins ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

     Running target/debug/deps/test_foo-79419bfea3135abf

running 1 test
test test_integration ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

   Doc-tests foo

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

关于unit-testing - 是否可以仅通过 cargo 测试运行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60037597/

相关文章:

unit-testing - 根据 AAA 正确使用 Moq 回调

rust - 不能借用 `*self` 作为可变的,因为 `self.history[..]` 也被借用为不可变的

loops - 循环时,.iter() 与引用 (&) 有何不同?

java - Eclipse 中 Mule 的代码覆盖工具

android - 如何在考虑测试的情况下使用 Dagger 设计 Android 应用程序

javascript - YUI.Test断言在事件回调中不会失败

c# - Wiremock.net 在单元测试中没有响应

Python 单元测试 : Run multiple assertions in a loop without failing at first one, 但继续

javascript - 测试 Vue.js 过滤器

rust - 自定义窗口管理器: Some GTK+ 3 windows receive focus but will not accept mouse clicks