在main.rs
中,我创建了一些函数来减小main()
的大小。在它们内部,我使用结构体和它们的方法。
fn handle_input() {
// some code
}
fn handle_quit() {
// some code
) {
fn main() {
// handle_handle_input() being is used here
// handle_quit() being is used here
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_handle_input() {
// some code
}
#[test]
fn test_handle_quit() {
// some code
}
}
现在所有的测试都通过了但是,main.rs
变得太大了,所以我想将测试放在它们自己的文件中。
既然我不能再use use super::*
了,我该怎么做呢?或者,唯一的方法是将这些函数转换为结构体方法,并将它们导入新的测试文件中?
1条答案
按热度按时间qojgxg4l1#
您可以将模块声明替换为
然后将测试移动到与
main.rs
相同目录下的文件tests.rs
中。文件名必须与上面声明中的模块名匹配。文件tests.rs
应该包含代码中mod tests
之后的花括号内的所有内容,不包括花括号。一般来说,在同一个文件中包含代码和测试是Rust的常见目的,因此您可以考虑以不同的方式将文件拆分为模块。