我有一个Rust函数,在某些条件下会
我可以生成一个新任务并检查该任务是否会发生
在我的情况下,返回
我希望为我正在实现的
同时,
panic
,我希望编写一个测试用例来验证该函数是否会发生panic
。除了assert!
和assert_eq!
宏之外,我找不到其他任何东西。是否有一些机制可以进行测试?我可以生成一个新任务并检查该任务是否会发生
panic
。这有意义吗?
在我的情况下,返回
Result<T,E>
不适用。我希望为我正在实现的
Matrix
类型添加对Add
特性的支持。这种加法的理想语法如下:let m = m1 + m2 + m3;
m1
、m2
、m3
都是矩阵。因此,add
的结果类型应该是Matrix
。以下这种描述太含糊了:
let m = ((m1 + m2).unwrap() + m3).unwrap()
同时,
add()
函数需要验证要相加的两个矩阵是否具有相同的维度。因此,如果维度不匹配,add()
需要引发panic异常。可用的选项是panic!()
。
#[should_panic(expected = "assertion failed")]
。 - phss