我想为枚举的所有实例模拟方法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。

最佳答案

我想shouldShow()方法是ListButton接口的一部分。如果您的设计经过深思熟虑,则您很可能应该嘲笑ListButton,而不是对任何特定MyButton会发生什么。

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

关于java - 枚举Java所有实例的Mock方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45290315/

10-10 17:03