日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用JUnitParams简化Parameterized tests

發(fā)布時間:2023/12/6 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用JUnitParams简化Parameterized tests 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

為什么80%的碼農(nóng)都做不了架構(gòu)師?>>> ??

junit4的Parameterized tests的使用方法太過費勁了,這里介紹下如何使用JUnitParams來簡化Parameterized tests。

junit4原生的Parameterized tests實例

@RunWith(Parameterized.class) public class FibonacciTest {@Parameterspublic static Collection<Object[]> data() {return Arrays.asList(new Object[][] { { 0, 0 }, { 1, 1 }, { 2, 1 }, { 3, 2 }, { 4, 3 }, { 5, 5 }, { 6, 8 } });}private int fInput;private int fExpected;public FibonacciTest(int input, int expected) {fInput= input;fExpected= expected;}@Testpublic void test() {assertEquals(fExpected, Fibonacci.compute(fInput));} }

JUnitParams的使用

maven

<dependency><groupId>pl.pragmatists</groupId><artifactId>JUnitParams</artifactId><version>1.1.0</version><scope>test</scope> </dependency>

實例

@RunWith(JUnitParamsRunner.class) public class PersonTest {@Test@Parameters({"17, false", "22, true" })public void personIsAdult(int age, boolean valid) throws Exception {assertThat(new Person(age).isAdult(), is(valid));}}

junit5的更新

當然junit5也對Parameterized tests的使用進行簡化,如下:

@ParameterizedTest @EnumSource(value = TimeUnit.class, names = { "DAYS", "HOURS" }) void testWithEnumSourceInclude(TimeUnit timeUnit) {assertTrue(EnumSet.of(TimeUnit.DAYS, TimeUnit.HOURS).contains(timeUnit)); }

小結(jié)

如果還是使用junit5之前的版本,那么可以嘗試使用JUnitParams來簡化Parameterized tests。如果你已經(jīng)使用junit5,那么恭喜你,可以不用額外引入JUnitParams就可以方便地進行Parameterized tests。

doc

  • parameterized-tests
  • JUnitParams
  • writing-tests-parameterized-tests

轉(zhuǎn)載于:https://my.oschina.net/go4it/blog/1488501

總結(jié)

以上是生活随笔為你收集整理的使用JUnitParams简化Parameterized tests的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。