在Junit5中为每个测试设置环境变量

Kry*_*ian 5 java junit

我必须将测试从 JUnit 4 迁移到 JUnit 5,我有 @Rule 设置 EnvironmentVariables 变量。在 Junit 4 中,每个测试的变量都被清除,在 JUnit 5 中,我需要相同的行为,因为现在运行的测试是单独通过的,但是当我从类中运行所有测试时,第二个测试会失败,因为仍然具有相同的环境变量。

我有:

@Rule
 public final EnvironmentVariables environmentVariables = new EnvironmentVariables();

@Test
void method1(){...}


@Test
void method2(){...}
Run Code Online (Sandbox Code Playgroud)

我还不熟悉 Junit 5 所以提前感谢您的帮助

Kov*_*cic -3

我认为您的关键字有问题final。删除它,它应该可以工作,

尝试这样:

@Rule
public EnvironmentVariables environmentVariables = new EnvironmentVariables();
Run Code Online (Sandbox Code Playgroud)

Final = 定义一个只能被赋值一次的实体

所以从我的角度来看,这扰乱了你的跑步。

希望这可以帮助,