我有以下结构:
-- project/
|
|-- Cargo.toml
|-- Cargo.lock
|-- src/
|
|-- main.rs
|-- crate1/
|-- lib.rs
|-- Cargo.toml
|-- tests
|-- Cargo.toml
|-- test.rs
这是货物的内容。
第一次
这里我使用了另一个库来测试,我不认为问题出在这里,因为我已经用这种方法做了几次测试,它运行得很好,但是由于某种原因,现在这种情况发生在我身上,我不知道是否一切都是我自己的打字错误,但是我已经检查了很多次了
# tests/Cargo.tom
[package]
name = "tests"
version = "0.1.0"
edition = "2021"
publish = false
[dev-dependencies]
crate1 = { path = "../crate1" }
[[test]]
name = "crate1_test"
path = "crate1_test.rs"
[[test]]
name = "other_crate1_test"
path = "other_crate1_test.rs"
这是其中一个测试的样子
// tests/crate1_test.rs
use crate1::random_func;
[test]
fn random_func_test() {
assert!(random_func());
}
由于某种原因,货物无法识别“crate1”板条箱,每次导入板条箱时都会出现此错误:
error[E0433]: failed to resolve: use of undeclared crate or module `crate1`
--> tests/crate1_test.rs:1:5
|
1 | use crate1::random_func;
| ^^^^^^ use of undeclared crate or module `crate1`
For more information about this error, try `rustc --explain E0433`.
error: could not compile `project-manager` due to previous error
2条答案
按热度按时间wkftcu5l1#
我发现了问题,那就是我没有把
crate1
作为主项目的依赖项,这是我的根Cargo.toml
现在的样子:现在我可以正确地构建测试了
c2e8gylq2#
在src/ www.example.com中main.rs您必须添加
mod crate1;
,并且可能添加mod tests;