Come posso simulare un'eccezione generata nei test di unità C#?Come simulare il lancio di un'eccezione nei test unitari?
Desidero poter avere una copertura del 100% del mio codice, ma non riesco a testare il codice con eccezioni che possono verificarsi. Ad esempio, non posso simulare un potere faluire che può verificarsi.
Ad esempio:
public void MyMethod()
{
try
{
...
}
catch(OutOfMemoryException e)
{
...
}
catch(RandomErrorFromDatabaseLayer e)
{
...
}
}
voglio essere in grado di simulare qualsiasi tipo di eccezione che è in questo metodo e deve essere catturato.
Esistono librerie che potrebbero aiutarmi in questa faccenda?
Modifica 1: Qualsiasi aiuto nel realizzare ciò che ho chiesto con Moq?
Il tuo esempio di codice non spiega realmente il problema. Perché non riesci a simulare un black-out? Stai provando a "iniettare" le condizioni che potrebbero causare il lancio delle eccezioni citate? Qual è il vero problema? –
sì, proprio come in http://stackoverflow.com/a/8851628/79379, ma senza che io distrugga un database per simulare un faluire del database. –