【发布时间】:2021-12-17 19:50:18
【问题描述】:
如何对定义了如下配置的函数进行单元测试
struct I32Add;
impl I32Add{
#[cfg(unstable)]
fn add(x:i32, y:i32) -> i32{x+y}
}
#[test]
fn add_test(){
assert_eq!(I32Add::add(1,2),3)
}
当然,测试不起作用。如何让它发挥作用?
【问题讨论】:
-
@kmdreko 这将禁用/启用启用/禁用该功能的测试。我的问题是如何进行单元测试,即在同一个板条箱中。
-
我的建议是将
#[cfg(unstable)]添加到您的测试中,就像您为函数as shown here 所做的那样。这样,如果该功能不存在,则测试不存在,因此您不会遇到编译问题。这不是问题所在吗? -
“我的问题是如何进行单元测试,即在同一个 crate 中。” - 我不确定我是否理解,
add_test是 i> 一个单元测试,它和I32Add在同一个板条箱中... -
@kmdreko 测试不起作用。 ``` running 0 tests 测试结果:ok。 0通过; 0 失败; 0 忽略; 0 测量; 0 过滤掉;在 0.00 秒内完成运行 0 次测试测试结果:好的。 0通过; 0 失败; 0 忽略; 0 测量; 0 过滤掉;在 0.00 秒内完成```
标签: unit-testing rust cfg crate-feature