我想知道为什么我们不使用函数或宏来测试函数是否会崩溃。
来自book:
除了检查我们的代码是否返回了我们期望的正确值外,检查我们的代码是否能够按预期处理错误条件也很重要。
为此,我们向测试函数添加了另一个属性should_panic
。如果函数内部的代码出现紧急情况,则此属性将通过测试;否则,将通过测试。如果该函数内部的代码没有发生错误,则测试将失败。
为什么它不是像assert!
这样的宏?
此代码将清晰易懂,并与其他测试宏进行标准化。
#[test]
fn greater_than_100() {
should_panic!(Guess::new(200));
}