当前位置: 首页 > news >正文

综合门户网站源码免费发帖的平台有哪些

综合门户网站源码,免费发帖的平台有哪些,专门查建设项目的网站,wordpress 图片说明喜欢的话别忘了点赞、收藏加关注哦,对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω・) 11.3.1. 添加错误信息 在 11.2. 断言(Assert) 中我们学习了assert!、assert_eq!和assert_ne!这三个宏,而这篇文章讲的就是它…

喜欢的话别忘了点赞、收藏加关注哦,对接下来的教程有兴趣的可以关注专栏。谢谢喵!(=・ω・=)
请添加图片描述

11.3.1. 添加错误信息

在 11.2. 断言(Assert) 中我们学习了assert!assert_eq!assert_ne!这三个宏,而这篇文章讲的就是它的进阶用法。

这三个宏是可以添加自定义错误信息的,但这是可选项。如果你添加了自定义信息,那么它们将会和标准的示范信息一同打印出来:

  • 对于assert!,第一个参数是必填的,自定义信息作为第二个参数
  • 对于assert_eq!assert_ne!,前两个参数是必填的,自定义信息作为第三个参数

再把自定义信息传进去之后,这个参数会被传递给format!宏,用于拼接字符串,由于format!宏可以使用{}占位符,所以传进去的信息也可以使用占位符。

看个例子:

pub fn greeting(name: &str) -> String {format!("Hello {name}!")
}#[cfg(test)]
mod tests {use super::*;#[test]fn greeting_contains_name() {let result = greeting("Carol");assert!(result.contains("Carol"));}
}
  • greeting有字符串切片参数name,传进去之后会返回Helloname!拼在一起的字符串。
  • 下面的greeting_contains_name测试函数先给把调用greeting("Carol")所获的值赋给result,然后再在result上调用contains这个方法来查找result里是否有"Carol"

这个代码现在测试是没有问题的。

那来手动引入一个bug,修改greeting函数:

pub fn greeting(name: &str) -> String {format!("Hello!")
}#[cfg(test)]
mod tests {use super::*;#[test]fn greeting_contains_name() {let result = greeting("Carol");assert!(result.contains("Carol"));}
}

这样测试会失败:

$ cargo testCompiling greeter v0.1.0 (file:///projects/greeter)Finished `test` profile [unoptimized + debuginfo] target(s) in 0.91sRunning unittests src/lib.rs (target/debug/deps/greeter-170b942eb5bf5e3a)running 1 test
test tests::greeting_contains_name ... FAILEDfailures:---- tests::greeting_contains_name stdout ----
thread 'tests::greeting_contains_name' panicked at src/lib.rs:12:9:
assertion failed: result.contains("Carol")
note: run with `RUST_BACKTRACE=1` environment variable to display a backtracefailures:tests::greeting_contains_nametest result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00serror: test failed, to rerun pass `--lib`

但是失败信息只说在12行第9个字符恐慌了,它没能提供更友好更有价值的一些信息,那怎么办呢?添加自定义信息呗:

pub fn greeting(name: &str) -> String {format!("Hello!")
}#[cfg(test)]
mod tests {use super::*;#[test]fn greeting_contains_name() {let result = greeting("Carol");assert!(result.contains("Carol"),"Greeting did not contain name, value was `{result}`");}
}

输出:

$ cargo testCompiling greeter v0.1.0 (file:///projects/greeter)Finished `test` profile [unoptimized + debuginfo] target(s) in 0.93sRunning unittests src/lib.rs (target/debug/deps/greeter-170b942eb5bf5e3a)running 1 test
test tests::greeting_contains_name ... FAILEDfailures:---- tests::greeting_contains_name stdout ----
thread 'tests::greeting_contains_name' panicked at src/lib.rs:12:9:
Greeting did not contain name, value was `Hello!`
note: run with `RUST_BACKTRACE=1` environment variable to display a backtracefailures:tests::greeting_contains_nametest result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00serror: test failed, to rerun pass `--lib`

可以看到,自定义信息出现在报错信息里了。这样的错误信息更具有实际意义,也就可以更容易地找到错误出现的原因。

http://www.shuangfujiaoyu.com/news/60133.html

相关文章:

  • 电商网购系统成都网站seo服务
  • 1 设计一个企业网站安全优化大师
  • 建网站公司下载快手seo服务商技术好的公司
  • 西安专业网站建设百度网盘网址
  • 3.15网站建设在线超级外链工具
  • 怎么把自己做的网站放到网上搜索引擎营销的方式
  • 网站备案完了怎么做搜索引擎营销有哪些方式
  • linux网站服务器搭建职业培训机构哪家最好
  • 大足建网站的怎样做关键词排名优化
  • 有没有专门做淘宝客的网站百度企业网盘
  • 设计网站页面出现问题企业培训考试app
  • 手机免费在线搭建网站建立一个企业网站需要多少钱
  • 乐山市建设局网站网站建设的重要性
  • 全国电商排名前20名关键词长尾词优化
  • 网站建设流程图百度销售推广
  • 湖南大型网站建设常用的网络营销方法有哪些
  • 怎么做社交网站今日的重大新闻
  • 苹果手机网站建设软件推广软文范例100字
  • 购物网站建设 属于信息系统管理与设计么自己的产品怎么推广
  • 万网 wordpress smtp在线seo工具
  • web前端开发网站设计seo是什么意思蜘蛛屯
  • 东莞长安做网站网络营销文案策划
  • 建设厅业绩可查询网站地址优化网站seo策略
  • 查看网站服务器ip站长工具 站长之家
  • WordPress图片投稿插件windows优化大师提供的
  • 怎么自己制作属于自己的网站爱站网长尾关键词搜索
  • 动易政府网站模板站牛网是做什么的
  • 建设个普通的网站得多少钱百度推广登录首页官网
  • 胶州做网站谷歌浏览器在线入口
  • 做设计网上揽活哪个网站最好成都网络优化托管公司