gpt4 book ai didi

java - 从 junit 测试类重置私有(private)静态 int

转载 作者:行者123 更新时间:2023-12-02 03:14:26 25 4
gpt4 key购买 nike

我正在尝试为一个名为 Student 的类编写一些 junit 测试。基本上,每个学生都有一个 StudentNum,它被设置为一个私有(private)静态 int 的迭代器。每次创建新学生时,studentNum 都会递增。

我对一个函数进行了几次测试,该函数从传入的学生数组列表中获取学生号为 1 的学生。但是,每次我在新测试中创建新的学生数组列表时,studentNum 都会从前一个测试的 StudentNum 停止的位置开始。因此,第一个测试将使学生的 StudentNums 从 0 到 5,第二个测试将使学生的 StudentNums 从 6 到 11。

我想知道是否有一种方法可以重置我的测试类中的私有(private)静态 StudentNum 整数,以便我可以在每次测试时将其从 0 开始?任何帮助将不胜感激。

最佳答案

您发现这很难测试这一事实是一个警告信号,表明您可能需要重新考虑您的设计。问问自己:为什么 Student 类应该负责生成唯一的 id?

如果您将 id 生成逻辑(即使它像递增单个计数器一样简单)分离到一个单独的类中,突然间您将能够在测试 Student 时模拟该类并让它返回您在测试中想要的任何 id。

关于java - 从 junit 测试类重置私有(private)静态 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40515021/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com