借助assert快速定位错误

发表于:2009-12-15 13:55

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:一环    来源:Taobao QA Team

  一个测试用例过了很长时间后,我们很有可能忘记里面的处理逻辑,当业务比较复杂时,一旦那个tc跑不过我们将不得不花大量时间去理清业务,如果有些细节我们没有注意到,我们又不得不花大量时间去调试,一上午往往就是这么过的。而如果此时有点提示,那就好办多了,就像 Windows登录密码一样,当你忘记时,你可以点一下提示按钮,那些提示信息或许可以马上帮你想起当初设的密码了,测试用例也可以这样做。

  assert方法集的第一个参数可以传一个自定义的信息,我们可以加入一段信息以表明这个错误在什么时候会发生,当发生错误时,这个信息便可以提示我们快速定位错误,而这个信息只会在assert失败时才输出。

  当我们要验证缓存中存在数据时,我们可以这样写:

  //清除数据库操作………

  UserDO udo = userInfoService.getUserByNick(nick);

  assertNotNull(“缓存不存在该用户对象”,udo);

  //………其他相关验证

  一旦缓存真没数据,抛出的异常信息不仅仅是AssertionError,而且还会包含一段说明字符串

  java.lang.AssertionError: 缓存中不存在该用户对象

  at org.junit.Assert.fail(Assert.java:92)

  at org.junit.Assert.assertTrue(Assert.java:44)

  ……

  你一看到这个信息,至少马上可以想到是缓存出问题了。如果没有这种信息,时间一久排查原因将非常困难。当然,并不是所有的assert都要加这种信息,那样好像比较痛苦,因为我们有很多assert!当你觉得这个assert需要加时就加,至于什么时候需要,就靠自己斟酌了~~~

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号