Einige Hintergrundinformationen, bevor ich in meine Frage komme. Ich arbeite gerade an einem Projekt, das von einem IBM DB2 zu einem SQL Server migriert. Um nicht zu sehr ins Detail zu gehen, trennt dieser DB2-Verbindungsserver manchmal die Verbindung zum SQL-Server, was für verbundene Server normal ist. Ich habe dies in Code arbeiten und haben ein Prozess-Setup für dieses um es zu kümmern.Unit Test für bestimmte Arten von Ausnahmen
Wie auch immer, ich versuche, eine Testmethode zu schreiben, die eine DbException auslöst (die Ausnahme, die ausgelöst wird, wenn der Verbindungsserver nicht verbunden ist), um den Prozess zu testen, den ich schrieb, wenn der Verbindungsserver getrennt ist. Gibt es eine Möglichkeit, einen bestimmten Typ von Ausnahme zu erzwingen, damit ich meinen Code testen kann?
Der try catch-Block sieht wie folgt aus etwas:
try
{
//Regular Processing and attempt to update to DB2
}
catch (DbException ex)
{
//Other processing to catch a linked server issue
}
catch (Exception ex)
{
//Even more processing for other exceptions
}
' DbException' ist eine abstrakte Klasse. Sie müssen entweder eine benutzerdefinierte Ausnahmeklasse erstellen, die daraus abgeleitet werden kann, dann Ihre benutzerdefinierte Klasse oder einen vorhandenen Typ, der von DbException wie SqlException abgeleitet ist. –
Sie haben Recht, ich habe gelernt, es war nur eine gewöhnliche Klasse, die von der Exception-Klasse erbt –