Wie simuliert das werfen einer Ausnahme in Unit-tests?

Wie kann ich simulieren, wird eine Ausnahme geworfen wird, in C#, unit-tests?

Ich möchte in der Lage sein, eine 100% - ige Abdeckung von meinem code, aber ich kann nicht den code zu testen, mit Ausnahmen, die auftreten können. Zum Beispiel kann ich nicht simulieren, eine macht faluire, die auftreten können.

Beispiel:

public void MyMethod()
{  
  try
  {  
  ...  
  }  
  catch(OutOfMemoryException e)
  {
  ...
  }  
  catch(RandomErrorFromDatabaseLayer e)
  {
  ...
  }  
}

Möchte ich simulieren zu können, ist jede Art von Ausnahme, die in dieser Methode und erwischt werden sollte.

Gibt es irgendwelche Bibliotheken, die helfen können Sie mir in dieser Angelegenheit?

Edit 1:
Jede Hilfe in Erfüllung, was ich fragte, mit Moq?

  • Deinem code-Beispiel nicht wirklich erklären Ihr problem. Warum kann man nicht simulieren Sie einen Stromausfall? Versuchen Sie zu 'injizieren' Bedingungen dazu führen würde, dass die genannten Ausnahmen geworfen werden? Was ist das wirkliche Problem?
  • ja, genau wie in der stackoverflow.com/a/8851628/79379 , aber ohne mich zu zerstören, eine Datenbank, um zu simulieren eine Datenbank faluire.
Schreibe einen Kommentar