在工作区根目录中使用 rust cargo 运行 测试
Use rust cargo to run tests in workspace root
我有以下 rust 项目布局:
project_name
├── crate_1
│ ├── src
│ │ ...
│ │ └── main.rs
│ └── Cargo.toml
├── crate_2
│ ├── src
│ │ ...
│ │ └── lib.rs
│ └── Cargo.toml
├── tests
│ └── tests.rs <-- run tests in here
└── Cargo.toml
我想使用 cargo 运行 tests
目录中的测试,但是 cargo 似乎找不到它们。
有没有办法把货物运到 运行 他们那里?
tokio就是一个很好的例子。
现在您已经有了一个 tests
目录,让我们将它添加到工作区 Cargo.toml
中的 members
。
[workspace]
members = [
"crate1",
"crate2",
"tests"
]
我们假设tests
目录下有test_crate1.rs
和test_crate2.rs
两个集成测试文件
在 tests
目录下创建一个 Cargo.toml
,内容如下:
[package]
name = "tests"
version = "0.1.0"
edition = "2021"
publish = false
[dev-dependencies]
crate1 = { path = "../crate1" }
crate2 = { path = "../crate2" }
[[test]]
name = "test_crate1"
path = "test_crate1.rs"
[[test]]
name = "test_crate2"
path = "test_crate2.rs"
运行 cargo test
在工作区目录中检查它。
我有以下 rust 项目布局:
project_name
├── crate_1
│ ├── src
│ │ ...
│ │ └── main.rs
│ └── Cargo.toml
├── crate_2
│ ├── src
│ │ ...
│ │ └── lib.rs
│ └── Cargo.toml
├── tests
│ └── tests.rs <-- run tests in here
└── Cargo.toml
我想使用 cargo 运行 tests
目录中的测试,但是 cargo 似乎找不到它们。
有没有办法把货物运到 运行 他们那里?
tokio就是一个很好的例子。
现在您已经有了一个 tests
目录,让我们将它添加到工作区 Cargo.toml
中的 members
。
[workspace]
members = [
"crate1",
"crate2",
"tests"
]
我们假设tests
目录下有test_crate1.rs
和test_crate2.rs
两个集成测试文件
在 tests
目录下创建一个 Cargo.toml
,内容如下:
[package]
name = "tests"
version = "0.1.0"
edition = "2021"
publish = false
[dev-dependencies]
crate1 = { path = "../crate1" }
crate2 = { path = "../crate2" }
[[test]]
name = "test_crate1"
path = "test_crate1.rs"
[[test]]
name = "test_crate2"
path = "test_crate2.rs"
运行 cargo test
在工作区目录中检查它。