我想建立一个基本的hello world项目。单元测试应该在test/
目录中,如书籍所述。到目前为止,我的代码如下。
src/main.rs
pub mod player;
fn main() {
println!("Hello, world!");
}
src/player.rs
pub fn rep(arg: i32) -> i32 {
arg
}
tests/player.rs
extern crate player;
#[test]
fn it_works() {
assert_eq!(4, player::rep(2+2));
}
Cargo.toml
[package]
name = "myapp"
version = "0.1.0"
authors = ["My Name <spam@example.com>"]
我认为代码与书中非常相似。然而,cargo test
失败了:
tests/player.rs:1:1: 1:21 error: can't find crate for `player`
tests/player.rs:1 extern crate player;
^~~~~~~~~~~~~~~~~~~~
error: aborting due to previous error
什么问题?我完全迷失了。
Cargo.toml
文件的内容;这会决定事物的名称,也许是导致你问题的原因。 - DK.Cargo.toml
编辑。谢谢。 - petrbel