“锈书”中的第5.2节测试说
tests模块允许我们将所有测试组合在一起,如果需要,还可以定义助手函数,这些函数不会成为机箱其余部分的一部分。只有在当前试图运行测试时,cfg属性才会编译测试代码。这可以节省编译时间,并确保我们的测试完全被排除在正常构建之外。
我假定标记为#[test]的函数不会出现在版本构建中,即使它们出现在一个模块中,对吗?我希望它只是一个测试助手函数,可能会浪费空间。它们可以单独与#[cfg(test)]一起隐藏,对吗?
发布于 2016-10-26 20:54:08
是的,您可以使用#[cfg(test)]隐藏单个函数,并且在非测试构建中将剥离#[test]函数(请注意,您也可以在发布模式下进行测试!)是的,在发行版中,未使用的函数将被优化。然而:
#[cfg(test)]比在每个测试中添加它更容易(因此更有可能完成)。https://stackoverflow.com/questions/40271711
复制相似问题