此代码无法使用cargo test
进行编译。它会出现错误未解析名称bar
fn bar()
{
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_bar()
{
bar();
}
}
因为fn bar()
不公开。我可以通过这种方式编写测试来解决这个问题:
fn bar()
{
}
#[cfg(test)]
#[test]
fn test_bar()
{
bar();
}
然而,根据Rust Book,第一种方法是在Rust中编写测试的惯用方法。在Rust中测试非公共函数的惯用方法是什么?