我有一个返回
Result<(), MyError>
的函数,其中:
enum MyError {Error1, Error2}
我目前正在做以下事情:
#[test]
fn test_result_function() {
assert_eq!((), result_function().unwrap());
}
这可行,但看起来很尴尬。一开始我想做的是:
assert!(result_function().is_ok());
但是当不正常时,测试结果并没有在任何地方给出错误。我应该如何测试这个功能?
怎么样
assert_eq!(Ok(()), result_function());
这个需要
#[derive(PartialEq,Debug)]
enum MyError{Error1, Error2}
上班并会告诉你
`(left == right)` (left: `Ok(())`, right: `Err(Error1)`)'
测试时,当测试表明它应该返回
result_function
时,您的 Error1
返回 Ok(())
。
您可以简单地检查结果是否为
Ok
,如下所示:
assert!(result_function().is_ok())
当你期待
Err
:
assert!(result_function().is_error())