网站不能调用样式,wordpress作品主题,注册资金,宁波seo推广开发喜欢的话别忘了点赞、收藏加关注哦#xff0c;对接下来的教程有兴趣的可以关注专栏。谢谢喵#xff01;(#xff65;ω#xff65;)
11.5.1. 测试函数返回值为Result枚举
到目前为止#xff0c;测试运行失败的原因都是因为触发了panic#xff0c;但可以导致测试失败的…喜欢的话别忘了点赞、收藏加关注哦对接下来的教程有兴趣的可以关注专栏。谢谢喵(ω)
11.5.1. 测试函数返回值为Result枚举
到目前为止测试运行失败的原因都是因为触发了panic但可以导致测试失败的方式也不止它。
使用Result枚举的测试函数也比较好写只需要接收被测试函数的返回值符合期待的就返回Ok变体反之就返回Err变体又因为枚举类型允许变体附带数据所以还可以在Err上附带一些错误信息来更好的词帮助纠错。
如果是Ok就代表测试通过反之就是失败。
看个例子 #[test]fn it_works() - Result(), String {let result add(2, 2);if result 4 {Ok(())} else {Err(String::from(two plus two does not equal four))}}it_works函数有Result(), String返回类型。当测试通过时为Ok(()) 当测试失败时为Err 其中包含一个带报错信息的String类型 。
这个测试肯定是通过的。
使用Result枚举来测试有一个注意就是不要在使用ResultT, E编写的测试上使用should_panic属性这个属性在上一篇文章中有讲因为使用ResultT, E编写的测试会返回Err而不是直接触发恐慌。