下面是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似乎找不到它们。有没有办法让cargo运行它们?
2条答案
按热度按时间30byixjq1#
tokio就是一个很好的例子。
现在,您已经有了一个
tests
目录,让我们将其添加到工作空间Cargo.toml
中的members
。字符串
我们假设在
tests
目录下有两个集成测试文件test_crate1.rs
和test_crate2.rs
。在
tests
目录下创建一个Cargo.toml
,其中包含以下内容:型
在工作区目录中运行
cargo test
进行检查。tv6aics12#
如果您的项目是一个可分发的包,由几个工作区crate组成,并且您希望从根
tests
目录运行集成测试。您不需要将tests目录指定为工作区成员。
看看
clap
does it是如何工作的如果你告诉Cargo你的根目录
Cargo.toml
实际上是一个包本身,它会把根目录tests
当作正常目录字符串