使用FizzBuzz和JUnitParams进行单元测试
生活随笔
收集整理的這篇文章主要介紹了
使用FizzBuzz和JUnitParams进行单元测试
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
我有時使用FizzBu??zz向新手演示單元測試的基礎。 盡管FizzBu??zz確實是一個簡單的問題,但它也可以用于演示更高級的單元測試技術,例如實現參數化測試。
FizzBu??zz的可能解決方案之一是:
上面的示例非常適合顯示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
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的使用FizzBuzz和JUnitParams进行单元测试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 360房产网备案查询郑州(360房产网备
- 下一篇: 无法使用JDK 8卸载JavaFX Sc