ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java – 测试返回类型为void的方法

2019-07-25 05:04:13  阅读:285  来源: 互联网

标签:java testing junit mockito


我是软件测试的新手.在一个教程中,我读到我可以测试一些像这样的方法:

@Test
 public void testMultiply() {
   MyClass tester = new MyClass();
   assertEquals("10 x 5 must be 50", 50, tester.multiply(10, 5));
 } 

所以我必须将一些参数传递给方法并获得返回值.
但在我的情况下,我有一些没有任何参数和返回值的类:

ArrayList al = new ArrayList();

public void Main(){
  methodA();
  methodB();
}

public void methodA(){
  // connect to URL
  // get some data
  for(int i=0; i<someThing; i++){
    al.add(data);
  }
}
public void methodB(){
  // do something with al
}

是否也可以测试它们?例如,正确的值是否来自methodA()中的URL.

解决方法:

可以测试不返回任何内容的方法(void),但必须测试该方法的副作用.它应该有一些副作用,否则这种方法是没用的.

这里的副作用是al改变了.如上所述,此类没有任何其他公开al的方法.添加一个getter方法,该方法返回ArrayList或ArrayList的特定元素.然后,您的测试方法可以调用getter方法来检索值并将其(它们)与期望值进行比较.

标签:java,testing,junit,mockito
来源: https://codeday.me/bug/20190725/1529719.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有