【发布时间】:2019-09-23 11:46:59
【问题描述】:
按照惯例,Rust 中的单元测试被赋予一个单独的模块,该模块使用#[cfg(test)] 进行条件编译:
#[cfg(test)]
mod tests {
#[test]
fn test1() { ... }
#[test]
fn test2() { ... }
}
但是,我一直在使用一种更内联测试的样式:
pub fn func1() {...}
#[cfg(test)]
#[test]
fn test_func1() {...}
pub fn func2() {...}
#[cfg(test)]
#[test]
fn test_func2() {...}
我的问题是,#[test] 是否暗示 #[cfg(test)]?也就是说,如果我用#[test] 而不是#[cfg(test)] 标记我的测试函数,它们在非测试版本中是否仍然正确不存在?
【问题讨论】:
标签: unit-testing testing rust attributes visibility