如何构建大量的单元测试?

时间:2014-08-27 14:35:34

标签: unit-testing testing rust

我有一个Rust项目,它有几个模块。我已经添加了一个名为测试的模块,在那里我进行了单元测试,但我已经达到了测试需要大量脚手架的程度,我相信这会给代码库带来很多噪音。有没有办法将我的测试移到别处,也许是一个test.rs文件?

1 个答案:

答案 0 :(得分:2)

Cargo支持从tests/子目录运行测试。您可以在Cargo guide中找到对此的引用(尽管相当简短)。简而言之,您可以将测试放在项目的tests/子目录中的源中,从而将测试与主源树分开。这些测试只是普通的Rust源(带有#[test]注释),所以你需要extern crate你的板条箱来测试它们。这支持编写集成测试,而不是单元测试。

单元测试通常用#[cfg(test)]标记 - 被测模块的子模块标记。他们能够访问其封闭模块的非公共项目,因此这是单元测试的理想选择。

Cargo中还有recent change允许更强大的功能,但我不确定应该如何使用它。