2013-07-03 66 views
5

Sto cercando di stub una chiamata di metodo di una classe come questa:Rhino Mocks chiama il metodo reale nel Disporre

Direttore managerStub = MockRepository.GenerateStub (constructordata);
managerStub.Stub (x => x.GetData (Arg.Is.Anything)). Return (10)

Ma quando provo ad eseguire questo test di unità, Rhino prende in giro chiama il metodo "GetData", con il parametro "0" sulla riga "manager.Stub ...".

Perché Rhino Mocks chiama il metodo reale?

+2

Il vero metodo 'virtuale'? In caso contrario, RhinoMocks non può fermarlo. –

+0

Ah ... non lo è. Questo era il problema, posta una risposta, lo accetterò, quando il limite di tempo finirà. –

+0

Aggiunta una risposta con i dettagli sul motivo per cui deve essere virtuale. –

risposta

7

Se si richiede uno stub di una classe RhinoMocks crea una classe derivata al volo e sovrascrive i metodi che si desidera eseguire.
Tuttavia, se il metodo che si desidera eseguire lo stub non è virtual, RhinoMocks non può sovrascriverlo e pertanto non può stubarlo.

Problemi correlati