枚举java

时间:2017-07-24 21:23:44

标签: java android unit-testing

我想为枚举的所有实例模拟方法shouldShow()。有人可以帮忙解决这个问题。

public enum MyButton implements ListButton {
    Button1(
        R.drawable.drawable1) {
             // Some methods here
    },
    Button2(
            R.drawable.drawable2) {
        //Some methods here
    };

    @Override
    public boolean shouldShow() {
        //Some logic that decides whether to show the button or not
    }
}

我想模仿它,如果我调用Button1.shouldShow或Button2.shouldShow,或enum.shouldShow中的任何其他值,我的存根应返回true。

1 个答案:

答案 0 :(得分:0)

我认为shouldShow()方法是ListButton接口的一部分。如果您的设计经过深思熟虑,那么您很可能会嘲笑ListButton,而不是针对任何特定的MyButton

Java枚举常量本质上是公共静态最终字段,因此在特定shouldShow()常量上模拟MyButton方法相当于在静态最终字段上模拟方法。