本地单元测试的进阶之路,大致分三个步骤

发表于:2021-1-07 09:27

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

 作者:chenxibobo    来源:博客园

  1、Assert类中的常用断言方法:
  其中assertEquals的方法,都对应有一个assertNotEquals方法,这里不列了,assertThat是一个强大的方法:
   Assert.assertThat(1, is(1));
   Assert.assertThat(0, is(not(1)));
   Assert.assertThat("hello", startsWith("h"));
   List<String> items = new ArrayList<>();
   items.add("aaa");
   items.add("bbb");
   Assert.assertThat(items, hasItem("aaa"));
  需要静态导入org.hamcrest.Matchers类里面的方法,更多匹配方法请参考这个类。
  2、运行测试
  选中测试类右键Run运行,控制面板中就会显示测试结果:
  如果所有的测试用例都正常返回了预期的结果,则面板中左侧每个测试方法前面会带一个绿色的对勾,否则方法前面会变成红色感叹号并且控制面板会输出异常,现在来改一个业务方法试一下:
      public boolean isTeenager(int age) {
          if (age < 15) {
              return false;
          }
          return false;
      }
  这里将age < 15改为输出false,假设这是我们在编码的时候由于疏忽粗心造成的,然后运行测试类:
  控制面板会告诉那一行出错了:
  也就是说这里没有返回预期的结果,说明我们编写的业务逻辑是有错误的,这时就需要改bug了。
  3、运行单个测试方法或多个测试类
  上面是运行的整个测试类,如果要运行测试类的单个方法,则鼠标只选中某个要运行的测试方法,然后右键选择Run即可。如果要同时运行多个测试类,而如果多个测试类在同一个包下面,则选中多个测试类所在的包目录,然后右键选择Run运行。否则可以通过下面的方式指定,创建一个空的测试类,然后添加注解:
  @RunWith(Suite.class)
  @Suite.SuiteClasses({SimpleClassTest.class, SimpleClass2Test.class})
  public class RunMultiTest {
  }
  运行这个测试类就可以将指定的测试类的方法一起运行。

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号