设置方法的Junit奇怪行为,已在setup()方法中初始化的元素,未在@test方法

时间:2015-10-28 07:48:00

标签: java junit junit4

我有以下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()方法中初始化它们。

0 个答案:

没有答案