方法返回枚举的单元测试

时间:2019-07-18 09:04:41

标签: junit easymock

我正在尝试创建方法的测试用例。在里面调用另一个方法,该方法返回一个枚举类型。 对于返回枚举的此方法,如何期望和返回。

public class xyz {

    public request pqrs(Rest rest) { 
        Confirm cnf= new Confirm();
        cnf.getAct().toString();
    }
}

public class Confirm {

    public Hgs getAct() {
        return act
    }
}

public enum Hgs{

}

如何期望并返回getAct()?

1 个答案:

答案 0 :(得分:0)

返回一个枚举就像返回任何其他对象。就您而言,使用EasyMock,它看起来像:

Confirm confirm = mock(Confirm.class);
expect(confirm.getAct()).thenReturn(Hgs.VALUE);
replay(confirm);

但是,您将遇到的问题是,Confirm是在方法中创建的,而不是注入的。因此,当前无法使用模拟。那里有两个解决方案。好的选择取决于您的实际用例。

  1. 注入Confirm
  2. 通过某种可以模拟的方法创建