如何通过junit5,对同一测试样例的不同方法进行测试?
通常使用junit5测试时,每个测试方法使用不同的测试数据。但有时我们需要使用同一测试数据对多个方法进行测试,下面介绍如何实现:
问题代码:
以下是问题的代码示例:
import org.junit.jupiter.api.*; public class sort_test3 { private final int[] testdata = init_all(); int[] init_all(){ final int[] testdata; system.out.println("before run..."); // 随机生成测试数据 int n = (int) (math.random() * 1000); system.out.println(n); testdata = new int[n]; for (int i = 0; i <p>上面的代码中,每个测试方法都有自己的testdata。这将导致每次测试使用不同的测试数据。</p><p><strong>解决方案:</strong></p><p>要使用同一测试数据对多个方法进行测试,请使用@beforeeach注解。这个注解在每个测试方法之前运行,因此您可以利用它来生成测试数据并将其存储在该方法中使用。</p><p>修改后的代码如下:</p><pre class="brush:php;toolbar:false">import org.junit.jupiter.api.*; public class Sort_Test3 { private int[] testData; @BeforeEach void init_All(){ final int[] testData; System.out.println("before run..."); // 随机生成测试数据 int n = (int) (Math.random() * 1000); System.out.println(n); testData = new int[n]; for (int i = 0; i <p>在修改后的代码中,@beforeeach注解使用init_all()方法在每个测试方法之前生成测试数据。然后,每个测试方法都可以访问testdata变量并使用它。</p><p>此外,还可以使用@testinstance(testinstance.lifecycle.per_class)注解,这样就可以在测试类中初始化测试数据,并且可以使用this.testdata来访问它。</p>
登录后复制
以上就是如何使用 JUnit5 对同一测试用例的不同方法进行测试?的详细内容,更多请关注抖狐科技其它相关文章!
本站文章均为抖狐网站建设摘自权威资料,书籍,或网络原创文章,如有版权纠纷或者违规问题,请即刻联系我们删除,我们欢迎您分享,引用和转载,我们谢绝直接复制和抄袭!感谢...
我们猜你喜欢
-
dnf手游困难罗斯特怎么打详情 dnf手游困难罗斯特怎么打介绍
如何通关dnf手游困难罗斯特?dnf手游中的困难罗斯特副本一直是玩家心中的难题。php小编百草收集了诸多玩家的困扰,并整理出详细攻略,解决大家遇到的各种问题。如果你也为困难罗斯特所困,不妨继续阅读以下...
-
腾讯会员怎么取消自动续费_怎么取消腾讯会员自动续费步骤
腾讯会员取消自动续费步骤:打开平台、进入会员中心、找寻相关会员、点击管理、关闭自动续费。如何取消腾讯会员自动续费 取消步骤:打开腾讯视频或QQ音乐等腾讯平台。 进入个人中心,点击"会员中心"。 进入"...
-
坐车不怕看手机!苹果iOS 18正式版发布:iPhone新增防晕车功能
9月17日消息,今日,苹果面向iPhone用户推送iOS 18正式版更新,带来全新UI设计,并支持自定义桌面等多项新功能。据了解,iOS 18正式版还新增“车辆运动提示”功能,可帮助乘...
-
爱奇艺怎么充一天的vip
爱奇艺开通一日 vip 的步骤如下:1. 打开爱奇艺 app 或网站,2. 点击“vip 会员”,3. 选择“开通 vip”,4. 选择“单日 vip”,5. 确认开通并完成支付,6. 立即享受 vi...
-
心动小镇手游东栈渔家谜底是什么 心动小镇手游东栈渔家谜底介绍
心动小镇游戏近期更新了新版本,带来了一系列新内容。其中引起许多玩家关注的是心动小镇手游东栈渔家的谜底。想知道答案的朋友千万不要错过本篇文章,php小编子墨将为你一一解答。在这篇内容中,我们将深入探索新...