美文网首页
TDD FizzBuzz

TDD FizzBuzz

作者: Feng_001 | 来源:发表于2020-01-02 15:53 被阅读0次

FizzBuzz 说明

Write a program that prints the numbers from 1 to 100.
But for multiples of three print "Fizz" instead of the
number and for the multiples of five print "Buzz". For
numbers which are multiples of both three and five
print "FizzBuzz".
1、 输出从1-100 的数字
2、 遇到3的倍数输出Fizz
4、 遇到5的倍数输出Buzz
5、 遇到3和5的倍数输出FizzBuzz

通过TDD (测试驱动开发)的方式实现

5520964-e642c964d2e8d3bc.png
参见:TDD 三原则
测试代码
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
public class FizzBuzzTest {
    @Test
    void should_1_1() {
        String expected = "1";
        String result = FizzBuzz.fizzBuzz(1);
        assertEquals(expected, result);
    }
    @Test
    void should_fizz_3() {
        String expected = "Fizz";
        String result = FizzBuzz.fizzBuzz(3);
        assertEquals(expected, result);
    }
     @Test
     void should_buzz_5() {
        String expected = "Buzz";
        String result = FizzBuzz.fizzBuzz(5);
        assertEquals(expected, result);
    }
    @Test
    void should_fizzbuzz_15() {
        String expected = "FizzBuzz";
        String result = FizzBuzz.fizzBuzz(15);
        assertEquals(expected, result);
    }    
    @Test
    void should_print_1_100() {
        String expected = "FizzBuzz";
        FizzBuzz.printFizzBuzz();
    }
}
实现代码
public class FizzBuzz{

    public static void printFizzBuzz(){
      for(int i=1;i<=100;i++){
          System.out.println(fizzBuzz(i));
      }
    }
  
    public static String fizzBuzz(int number){
       String result=String.valueOf(number);
       if(number%3==0) {
         result="Fizz";
         if(number%5==0) {
            result="FizzBuzz";
         }
       }else if(number%5==0) {
         result="Buzz";
       }
       return result;
    }
}
TDD的实现过程

FizzBuzz 做为TDD入门的,比较容易直观的能够体验TDD。下面附上TDD的开发过程。花3秒钟向你显示如何通过测试驱动开发。
附上一个比较好的 FizzBuzz的实现 ,感觉不太符合TDD原则的第三条。

fizzbuzz.gif
特别感谢 bobdeng 花了一下午的时间陪我结队编程,并给我讲述了并分享了极限编程和TDD的概念和应用。非常感谢!!!

相关文章

  • TDD FizzBuzz

    FizzBuzz 说明 Write a program that prints the numbers from ...

  • 测试技术培训-TDD-FizzBuzz

    1 什么是FizzBuzz FizzBuzz是一个非常适合各种场景使用的编程题目,也被各路大佬推荐用于TDD的教学...

  • TDD案例-FizzBuzz-重构

    在之前的的TDD案例-FizzBuzz文章中,我们介绍了如何以TDD的方式,通过5个测试用例,来驱动我们实现了Fi...

  • TDD Kata - FizzBuzz基础版

    需求背景 你是一名体育老师,在某次课距离下课还有五分钟时,你决定搞一个游戏。此时有N名学生在上课。游戏的规则是: ...

  • TDD和重构练习-FizzBuzz Sprint 1

    FizzBuzz For Kobe Bryant details how Kevin Durant can get...

  • TDD和重构练习-FizzBuzz Sprint 3 - 集成测

    FizzBuzz Sprint 3 Product backlog集成测试 步骤分解 实现主程序 创建Main类和...

  • TDD和重构练习-FizzBuzz Sprint 2 - 快速变

    FizzBuzz Sprint 2 Product backlog如果碰到包含“3”的数,则报“Fizz”如果碰到...

  • FizzBuzz

    题目: 写一个程序打印1到100这些数字。但是遇到数字为3的倍数的时候,打印“Fizz”替代数字,5的倍数用“Bu...

  • FizzBuzz

    在学习ruby的过程中,我们有一道作业题https://leetcode.com/problems/fizz-bu...

  • FizzBuzz

    问题 你是一名体育老师,在某次课距离下课还有五分钟时,你决定搞一个游戏。此时有100名学生在上课。游戏的规则是: ...

网友评论

      本文标题:TDD FizzBuzz

      本文链接:https://www.haomeiwen.com/subject/lulooctx.html