zz测试接口

我有时使用FizzBu​​zz向新手演示单元测试的基础。 尽管FizzBu​​zz确实是一个简单的问题,但它也可以用于演示更高级的单元测试技术,例如实现参数化测试。

FizzBu​​zz的可能解决方案之一是:

public class FizzBuzz {private static final int THREE = 3;private static final int FIVE = 5;public String calculate(int number) {if (isDivisibleBy(number, THREE) && isDivisibleBy(number, FIVE)) {return "FizzBuzz";}if (isDivisibleBy(number, THREE)) {return "Fizz";}if (isDivisibleBy(number, FIVE)) {return "Buzz";}return String.valueOf(number);}private boolean isDivisibleBy(int dividend, int divisor) {return dividend % divisor == 0;}
}

上面的示例非常适合显示JUnitParams的参数化测试。 我们可以创建4种测试方法,每种方法针对不同的FizzBu​​zz案例:

@Test
@Parameters({"1", "2", "4", "7", "11", "13", "14"})
public void returnsNumberForNumberNotDivisibleByThreeAndFive(int number) {assertThat(fizzBuzz.calculate(number)).isEqualTo("" + number);
}@Test
@Parameters({"3", "6", "9", "12", "18", "21", "24"})
public void returnFizzForNumberDivisibleByThree(int number) {assertThat(fizzBuzz.calculate(number)).isEqualTo("Fizz");
}@Test
@Parameters({"5", "10", "20", "25", "35", "40", "50"})
public void returnBuzzForNumberDivisibleByFive(int number) {assertThat(fizzBuzz.calculate(number)).isEqualTo("Buzz");
}@Test
@Parameters({"15", "30", "45", "60"})
public void returnsFizzBuzzForNumberDivisibleByThreeAndFive(int number) {assertThat(fizzBuzz.calculate(number)).isEqualTo("FizzBuzz");
}

但是我们也可以用一种参数化的测试方法涵盖所有​​情况:

@Test
@Parameters
public void fizzBuzz(int given, String expected) {assertThat(fizzBuzz.calculate(given)).isEqualTo(expected);
}public Object[] parametersForFizzBuzz() {return $($(1, "1"),$(2, "2"),$(3, "Fizz"),$(4, "4"),$(5, "Buzz"),$(6, "Fizz"),$(7, "7"),$(10, "Buzz"),$(15, "FizzBuzz"),$(30, "FizzBuzz"));
}

享受JunitParams !

  • 看一下介绍单元测试不同方面的unit-testing-demo项目,包括参数化测试: https : //github.com/kolorobot/unit-testing-demo

翻译自: https://www.javacodegeeks.com/2014/11/unit-testing-exercise-with-fizzbuzz-and-junitparams.html

zz测试接口

zz测试接口_使用FizzBu​​zz和JUnitParams进行单元测试相关推荐

  1. mockito 单元测试_使用FizzBu​​zz和Mockito进行单元测试

    mockito 单元测试 我有时使用FizzBu​​zz向新手演示单元测试的基础. 尽管FizzBu​​zz确实是一个简单的问题,但它也可以用于演示更高级的单元测试技术,例如模拟 . FizzBu​​ ...

  2. 在java项目中咋样测试接口_请问java程序的接口中的测试类该怎么写?有什么用呢?...

    可使用android自带的httpclient框架实现. 1. GET 方式传递参数 //先将参数放入List,再对参数进行URL编码 List params = new LinkedList(); ...

  3. mockito_使用FizzBu​​zz和Mockito进行单元测试

    mockito 我有时使用FizzBu​​zz向新手演示单元测试的基础. 尽管FizzBu​​zz确实是一个简单的问题,但是它也可以用于演示更高级的单元测试技术,例如模拟. FizzBu​​zz Ka ...

  4. deepin中zz_如何解决R中的FizzBu​​zz问题

    deepin中zz The FizzBuzz problem is a classic test given in coding interviews. The task is simple: Fiz ...

  5. kata_Java中的功能性FizzBu​​zz Kata

    kata 不久前,我使用Java 8流和lambda解决了FizzBu​​zz kata问题. 尽管最终结果是可行的,但中间步骤却没有. 我当然可以做得更好. 与往常一样,让我们​​从失败的测试开始: ...

  6. Java中的功能性FizzBu​​zz Kata

    不久前,我使用Java 8流和lambda解决了FizzBu​​zz kata问题. 尽管最终结果是可行的,但中间步骤却没有. 我当然可以做得更好. 与往常一样,让我们​​从失败的测试开始: pack ...

  7. 使用FizzBu​​zz和Mockito进行单元测试

    我有时使用FizzBu​​zz向新手演示单元测试的基础. 尽管FizzBu​​zz确实是一个简单的问题,但是它也可以用于演示更高级的单元测试技术,例如模拟 . FizzBu​​zz Kata: &qu ...

  8. FizzBu​​zz Kata与Java流

    在柔道练习仅几周之后,我的儿子感到无聊. 他抱怨说自己没有学任何东西,因为他一遍又一遍地做着同样的事情. 混淆学习和做新事物的不仅仅是幼儿. 例如,有多少软件开发人员通过执行kata或参加dojos来 ...

  9. 使用FizzBu​​zz和JUnitParams进行单元测试

    我有时使用FizzBu​​zz向新手演示单元测试的基础. 尽管FizzBu​​zz确实是一个简单的问题,但它也可以用于演示更高级的单元测试技术,例如实现参数化测试. FizzBu​​zz的可能解决方案 ...

最新文章

  1. c# 取两个时间的间隔
  2. Matlab如何从dat或者txt文件读入数据
  3. linux下eclipse的使用教程,linux下Eclipse的使用方法总结.doc
  4. UVA11624大火蔓延的迷宫
  5. Oracle经典教程学习笔记
  6. keil生成hex文件找不到_骚操作!用Python把公众号文章打包成pdf文件,再也不怕找不到了...
  7. 电脑中病毒后被隐藏的文件的显示
  8. Nginx(三):反向代理
  9. javascript ~~canvas url blob转换
  10. Spring-MVC配置Gson做为Message Converter解析Json
  11. pre保持原格式但文本不超出的解决方案
  12. python爬虫实例评论_python爬取微博评论的实例讲解
  13. 怎样屏蔽浏览器关闭按钮及ALT+F4 快捷键
  14. Eclipse 远程开发插件 RSE 及远程登录
  15. 将ceph与calamari相连(connect ceph servers to calamari)
  16. 《PPT思维》第一课:PPT基础思维
  17. 塑胶材料的各种特性,热塑性塑料详解
  18. 【Azure Data Platform】ETL工具(8)——ADF 数据集和链接服务
  19. Epson针式打印机打印十六进制内容解决方案
  20. c++ leetcode 500-600

热门文章

  1. P3975-[TJOI2015]弦论【SAM】
  2. P4549-[模板]裴蜀定理
  3. P2153-晨跑【费用流,网络流,拆点】
  4. 初一模拟赛(4.27)
  5. 等差区间 线段树+GCD
  6. 34、JAVA_WEB开发基础之EL表达式和标签
  7. 11、mysql数据表中数据的查询(3)
  8. 使用jdbc连接mysql数据库代码示例
  9. 就业形势如此的严峻,你为何不努力?
  10. ssm(Spring+Spring mvc+mybatis)——web.xml