ich eine switch-Anweisung in einer Fabrik haben, die einen Befehl gibt basierend auf dem Wert der Enumeration übergeben So etwas wie:.Wie Einheit testen Sie die Standardfall eines ENUM-basierten Switch-Anweisung
public ICommand Create(EnumType enumType)
{
switch (enumType)
{
case(enumType.Val1):
return new SomeCommand();
case(enumType.Val2):
return new SomeCommand();
case(enumType.Val3):
return new SomeCommand();
default:
throw new ArgumentOutOfRangeException("Unknown enumType" + enumType);
}
}
ich zur Zeit habe für jeden Wert in der Enumeration einen Schalterfall. Ich habe Komponententests für jeden dieser Fälle. Wie kann ich testen, ob der Standardfall einen Fehler verursacht? Offensichtlich kann ich im Moment keinen unbekannten EnumType eingeben, aber wer wird sagen, dass dies in Zukunft nicht geändert wird. Kann ich den EnumType auch nur aus Gründen des Unit-Tests verlängern oder verspotten?