Ho due test di unità che utilizzano TypeMock Isolator per isolare e simulare un metodo da SqlMembershipProvider di asp.net.TypeMock Isolator: WillThrow() sanguina attraverso i limiti dei test unitari?
Nella prova 1 ho:
Isolate.WhenCalled(
() =>
Membership.CreateUser(...)))
.WithExactArguments()
.WillThrow(new Exception());
Nella prova 2 ho:
Isolate.WhenCalled(
() =>
Membership.CreateUser(...)))
.WithExactArguments()
.WillReturn(new MembershipUser(...));
Quando corro ogni test per sé entrambi passano correttamente.
Quando eseguo entrambi i test, il numero di test 1 piste prima e passa, quindi il numero di test 2 piste e non riesce ad eccezione gettato in prova 1.
Perché l'istruzione di WillThrow()
nel test 1 "sanguinare over" per test 2? Dopo tutto, il test 2 definisce esplicitamente un comportamento diverso - WillReturn()
?
Non hai incluso uno snippet completo, quindi ti farò l'ovvia domanda ... I test/classe sono stati contrassegnati con l'attributo 'Isolated', o stai chiamando' Isolator.Cleanup' per resettare il comportamento ? http://www.typemock.com/rule-missing-isolated-attribut – forsvarir
@forsvarir Grazie. L'aggiunta dell'attributo '[Isolated]' ha risolto il problema. Ti piacerebbe postare questo come risposta in modo che io possa accettarlo? – urig