在 Rust 轨道上测试

了解如何在 Exercism 上测试你的 Rust 练习


在src/lib.rs里编写你的代码。 练习在src/lib.rs里附带了一个存根文件,它会告诉你需要编写的代码的签名。

对大多数练习来说,最好把所有代码都写在src/lib.rs这个文件里。 如果你想把自己的解答拆分成多个文件,可以参考 Rust 书里的模块那一章。

运行测试

要运行测试,只需执行下面这条命令:

$ cargo test

默认只启用第一个测试。 等你准备好通过下一个测试时,就去掉下一个测试的忽略标志(#[ignore])。 如果你愿意,也可以一次性去掉所有测试的这个标志。

为了让测试通过,写尽可能少的代码就行。 测试的失败信息会告诉你接下来该写什么。

由于 Rust 会在编译时检查所有代码,你可能会发现,在写出所需的代码之前,测试无法通过编译。 即使是被ignore的测试,编译时也会被检查。 对于无法通过编译的测试,你可以在每行开头加上//,把它们注释掉。 之后,等你准备好处理那个测试时,再把注释去掉即可。 Rust 还有一个特殊的宏todo!(),你可以把它用在尚未完成的代码路径上,让程序能够通过编译。

使用库

大多数练习不用任何外部库就能解出来。 不过,你可以在练习的目录里运行cargo add crate-name来添加库(Rust 社区把它们叫做 crates)。

网站上的自动测试只支持一组预定义的 crate,可以在这里的[dependencies]小节下找到它们。 如果你希望添加对某个特定 crate 的支持,欢迎提 issue 或 pull request。