重置 JUnit 测试的静态字段
我有一组JUnit测试,它们调用Java程序上的main方法,传入args并检查输出。没关系。
但是,如果我正在测试的程序具有更改的静态值,则它们在测试之间将保持不变。这会导致问题。我无法控制正在测试的程序到底是什么,或者用于静态字段的名称。
我如何确保我的单元测试干净利落地运行,就好像它从头开始启动程序一样,而不保留这些静态字段。有没有办法以某种方式重置它们?
如果没有,我将不得不启动一个运行程序的新进程,然后检查输出等,但这似乎有点过分了。
编辑 - 请注意,我无法控制单元测试正在测试的代码 - 我无法更改它们的字段名称,不幸的是,我也不知道它们的字段名称。我在想,如果不开始新的过程,这是不可能的吗?