gpt4 book ai didi

java - 为 JUnit 测试重置静态字段

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:13:03 26 4
gpt4 key购买 nike

我有一组 JUnit 测试,它们调用 Java 程序的主要方法,传入参数并检查输出。没关系。

但是,如果我正在测试的程序具有已更改的静态值,它们将在测试之间保持不变。这会导致问题。我无法控制正在测试的程序是什么,也无法控制用于静态字段的名称。

如何确保我的单元测试干净利落地运行,就好像它是从头开始程序一样,而不保留那些静态字段。有没有办法以某种方式重置它们?

如果没有,我将不得不启动一个运行该程序的新进程,然后检查输出等,但这似乎有点矫枉过正。

编辑 - 请注意我无法控制单元测试正在测试的代码 - 我无法更改它们的字段名称,不幸的是,我也不知道它们的字段名称。我在想,如果不开始一个新流程,这不可能实现?

最佳答案

您应该显式初始化测试类中的任何静态状态,通常这是在注释为 @Before@BeforeClass

的方法中完成的

这就是为什么在应用程序中有很多静态依赖项不利于测试的原因之一。这就是为什么许多人鼓励无状态编程。

关于java - 为 JUnit 测试重置静态字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26234742/

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