51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 987|回复: 1
打印 上一主题 下一主题

[转贴] 单元测试系列之如何运行单元测试

[复制链接]
  • TA的每日心情
    无聊
    10 小时前
  • 签到天数: 1051 天

    连续签到: 1 天

    [LV.10]测试总司令

    跳转到指定楼层
    #
    发表于 2022-3-11 10:44:30 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
    1测试积点

     然后补充完整测试方法,详见上面的例子。
      注意:在一个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例子,输入相应的参数,得到相应的返回值,然后验证得到的返回值跟预期的值是否一样,就可以了。
      针对没有返回值的方法,比如下面登录的例子:
    1. public void login() {
    2.     String?username?= ...//get username from username EditText
    3.     String?password?= ...//get password from password EditText
    4.     //do other operation like validation, etc
    5.     ...
    6.     mUserManager.performlogin(username, password);
    7.   }
    复制代码
      仔细想一下,这个方法也是有输出的,输出就是调用了mUserManager的performlogin()方法,同时传了两个参数username和password。所以我们只要验证了performlogin()方法被调用了且传入的参数正确,就可以说明这个方法能正常工作。至于如何进行这样的验证,由于设计mock的概念,后面介绍mockito框架时再介绍。







    附件: 您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2021-6-9 14:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    1#
    发表于 2022-3-11 16:35:58 | 只看该作者
    还在python单元测试阶段,哎
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-26 19:32 , Processed in 0.063169 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表