这些是我的src/lib.rs
文件的内容:
pub fn foo() {}
#[cfg(test)]
mod tests {
#[test]
fn it_works() {
foo();
}
}
当我运行cargo test
时,我收到以下错误:
error[E0425]: unresolved name `foo`
--> src/lib.rs:7:7
|
7 | foo();
| ^^^
如何从foo
模块中调用test
?
答案 0 :(得分:2)
您可以使用super::
来引用父模块:
fn it_works() {
super::foo();
}
或::
指代包的根模块:
fn it_works() {
::foo();
}
或者,由于foo
可能会重复使用,您可以在模块中use
:
mod tests {
use foo; // <-- import the `foo` at root module
// or
use super::foo; // <-- import the `foo` at parent module
fn it_works() {
foo();
}
}