本文小编为大家详细介绍“SpringBoot+junit单元测试实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“SpringBoot+junit单元测试实例分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
/** * @author wangmeng * @date 2020/9/13 * 测试用例一 * 测试用例:5亿个int随机数,求最小值 * 测试结论(测试代码见后文): * * 使用普通for循环,执行效率是Stream串行流的2倍。也就是说普通for循环性能更好。 * Stream并行流计算是普通for循环执行效率的4-5倍。 * Stream并行流计算 > 普通for循环 > Stream串行流计算 **/
Maven依赖
<dependency><groupId>com.github.houbb</groupId><artifactId>junitperf</artifactId><version>2.0.0</version></dependency>
用例代码:
public static int[] arr;@BeforeAllpublic static void init() {arr = new int[500000000]; //5亿个随机Int randomInt(arr);}@JunitPerfConfig( warmUp = 1000, reporter = {HtmlReporter.class})public void testIntFor() { minIntFor(arr);}@JunitPerfConfig( warmUp = 1000, reporter = {HtmlReporter.class})public void testIntParallelStream() { minIntParallelStream(arr);}@JunitPerfConfig( warmUp = 1000, reporter = {HtmlReporter.class})public void testIntStream() { minIntStream(arr);}private int minIntStream(int[] arr) {return Arrays.stream(arr).min().getAsInt();}private int minIntParallelStream(int[] arr) {return Arrays.stream(arr).parallel().min().getAsInt();}private int minIntFor(int[] arr) {int min = Integer.MAX_VALUE; for (int anArr : arr) {if (anArr < min) { min = anArr; } }return min;}private static void randomInt(int[] arr) { Random r = new Random(); for (int i = 0; i < arr.length; i++) { arr[i] = r.nextInt(); } }
执行结果:
1、for循环遍历
2、Stream串行遍历
3、并行Stream遍历
读到这里,这篇“SpringBoot+junit单元测试实例分析”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。