单元测试系列之如何运行单元测试

发表于:2022-3-11 09:38

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

 作者:大师傅姑爷    来源:稀土掘金

  创建测试
  首先找到需要测试的类,右键,依次选择“go to” -- “Test”,然后选择“Create New Test”,根据需要勾选相应的方法,就可以创建对应的单元测试类了。
  然后补充完整测试方法,详见上面的例子。
  注意:在一个android project中,源代码默认是放在src/main/java下面的,需要启动模拟器或者真机进行单元测试的方法放在src/androidtest/java下面,不需要调用android api的单元测试放在src/test/java下面。我们演示的例子是放在src/test/java下面的。
  运行测试类和方法
  运行测试类可以右键“Run CalculatorTest ”,也可以点击左侧的运行图标:
  ,同样,只运行某个测试方法时也可以选择右键或者点击左侧图标两种方式。
  从图中你可以看出,你可以按快捷键Ctrl+Shift+R快速运行,当然,这要求你的光标当前焦点是在这个方法内部的。如果你的焦点是在类内部,而不在某一个测试方法内部,那么Ctrl+Shift+R将运行这个测试类的所有测试方法。当然,你也可以通过右键点击测试类名来运行这个测试类里面的所有测试方法。
  运行结束以后,你会在底部的“Run”这个tab看到运行的结果,如下图所示:
  绿色代表测试通过,红色和黄色代表测试失败。
  两种测试方式
  一个类的方法按照有无返回值可以分为两种,对应的也有两种测试方式。
  对于有返回值的方法,测试比较容易,比如与上面的Calculator例子,输入相应的参数,得到相应的返回值,然后验证得到的返回值跟预期的值是否一样,就可以了。
  针对没有返回值的方法,比如下面登录的例子:
  public void login() {
    String?username?= ...//get username from username EditText
    String?password?= ...//get password from password EditText
    //do other operation like validation, etc
    ...
    mUserManager.performlogin(username, password);
  }

  仔细想一下,这个方法也是有输出的,输出就是调用了mUserManager的performlogin()方法,同时传了两个参数username和password。所以我们只要验证了performlogin()方法被调用了且传入的参数正确,就可以说明这个方法能正常工作。至于如何进行这样的验证,由于设计mock的概念,后面介绍mockito框架时再介绍。

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

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号