51Testing软件测试论坛

标题: 单元测试系列之如何运行单元测试 [打印本页]

作者: lsekfe    时间: 2022-3-11 10:44
标题: 单元测试系列之如何运行单元测试
[attach]136821[/attach]
 然后补充完整测试方法,详见上面的例子。
  注意:在一个android project中,源代码默认是放在src/main/java下面的,需要启动模拟器或者真机进行单元测试的方法放在src/androidtest/java下面,不需要调用android api的单元测试放在src/test/java下面。我们演示的例子是放在src/test/java下面的。
  运行测试类和方法
  运行测试类可以右键“Run CalculatorTest ”,也可以点击左侧的运行图标:[attach]136822[/attach]

,同样,只运行某个测试方法时也可以选择右键或者点击左侧图标两种方式。
[attach]136823[/attach]
从图中你可以看出,你可以按快捷键Ctrl+Shift+R快速运行,当然,这要求你的光标当前焦点是在这个方法内部的。如果你的焦点是在类内部,而不在某一个测试方法内部,那么Ctrl+Shift+R将运行这个测试类的所有测试方法。当然,你也可以通过右键点击测试类名来运行这个测试类里面的所有测试方法。
  运行结束以后,你会在底部的“Run”这个tab看到运行的结果,如下图所示:
[attach]136824[/attach]
绿色代表测试通过,红色和黄色代表测试失败。
  两种测试方式
  一个类的方法按照有无返回值可以分为两种,对应的也有两种测试方式。
  对于有返回值的方法,测试比较容易,比如与上面的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框架时再介绍。








作者: 千里    时间: 2022-3-11 16:35
还在python单元测试阶段,哎




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2