为枚举添加值以测试交换机的默认情况

时间:2013-06-11 13:38:32

标签: unit-testing groovy enums switch-statement

鉴于以下枚举:

public enum SupportedLoanProcessor {
    PRE_AUTHORIZED,
    ACCURED_INTEREST
 }

如果类型为SupportedLoanProessor

,则开关处理值
switch(processorType){
      case SupportedLoanProcessor.PRE_AUTHORIZED:
        result = processPreAuthorized allLendingsWithALoan, date
      break
      case SupportedLoanProcessor.ACCURED_INTEREST:
        result = processAccuredInterest allLendingsWithALoan, date
      break
      default:
        throw new IllegalArgumentException("Unknow loan processor: $processorType")
    }

如何测试默认情况。我正在使用groovy和junit。 我想在运行时修改枚举是可能的。但我不知道如何。

1 个答案:

答案 0 :(得分:0)

执行默认情况是不可能的,因为枚举没有除交换机覆盖的值以外的其他值。

如果您正在尝试将来证明您的应用程序,那么当有更多可能的值时,我的方法通常是在枚举中添加None。

public enum SupportedLoanProcessor {
    None = 0,
    PRE_AUTHORIZED,
    ACCURED_INTEREST
}