我有以下Junit测试:
@Before
public void setup() {
origValue = 0.7f;
optValue = 0.3f;
NdaElementUtils.setDoubleValue(element, Parameter.getName(), origValue);
NdaElementUtils.setDoubleValue(element, Parameter.getOptimizedName(), optValue);
}
@Test
public void revertedChangesTest() {
setConfiguration(0.3, Status.ACTIVE, "[1.0 1.0]");
objectUnderTest.disable(element, Parameter);
assertEquals(origValue, NdaElementUtils.getDoubleObjectValue(element, Parameter.getOptimizedName()), 0);
}
我已经设置了" origValue"和" optValue"在setup()方法中,我检查运行后是否" objectUnderTest.disable(element,Parameter);"从"元素"中检索到的最佳值等于原始值。这必须是真的,所以方法工作正常,但测试失败。但是,如果我设置" origValue"和" optValue"在测试中:
@Before
public void setup() {
origValue = 0.7f;
optValue = 0.3f;
}
@Test
public void revertedChangesTest() {
setConfiguration(0.3, Status.ACTIVE, "[1.0 1.0]");
NdaElementUtils.setDoubleValue(element, Parameter.getName(), origValue);
NdaElementUtils.setDoubleValue(element, Parameter.getOptimizedName(), optValue);
objectUnderTest.disable(element, Parameter);
assertEquals(origValue, NdaElementUtils.getDoubleObjectValue(element, Parameter.getOptimizedName()), 0);
}
它过去了。
我不明白会发生什么,但它必须是一个逻辑解释。
有人可以帮我理解吗?
我使用" origValue"的相同设定值。和" optValue"在所有测试中,所以我认为最好在setup()方法中初始化它们。