单元测试无效方法

问题描述 投票:0回答:1

我有一个模型类TestCaseModel,看起来像

public class TestCaseModel {

    List<String> conditions = new ArrayList<String>();

    public void addCondition(String condition) {
        conditions.add(condition);
    }
}

[涵盖addCondition方法的单元测试用例时,我有点受阻。下面是我的测试用例

@Test
public void testAddCondition_validCondition_shouldPass() {

    TestCaseModel tcm = mock(TestCaseModel.class); // Mocking TestCaseModel

    tcm.conditions = new ArrayList<String>(); // tcm.conditions is `null`, hence initialising
    tcm.addCondition("some_valid_condition"); // Invoking `addCondition` should add the element to tcm.conditions
    assertEquals(1, tcm.conditions.size()); // tcm.conditions count is expected to be 1
}

这是我正在尝试做的,但是断言失败,因为返回了0 org.opentest4j.AssertionFailedError: expected: <1> but was: <0>

我真的不明白我在想什么。请注意,我不应该修改模型类。我是Java的新手,正在学习单元测试中的最佳实践。请指出问题,并建议专业人士处理此案。

java junit mockito stub
1个回答
0
投票

尝试创建一个实例并断言它,不要嘲笑...

© www.soinside.com 2019 - 2024. All rights reserved.