Articles of moq

Come posso utilizzare oggetti fittizi nei miei test di unità e utilizzare ancora la copertura del codice?

Attualmente sto iniziando a introdurre il concetto di oggetti Mock nei miei Test di unità. In particolare sto usando il framework Moq. Tuttavia, una delle cose che ho notato è che improvvisamente le classi che sto testando usando questo framework mostrano una copertura del codice dello 0%. Ora capisco che dal momento che sto solo […]

Moq test metodo void

Ciao, sono nuovo nel test di Moq e ho difficoltà a fare una semplice asserzione. Sto usando un’interfaccia public interface IAdd { void add(int a, int b); } Moq per l’interfaccia di IAdd è: Mock mockadd = new Mock(); mockadd.Setup(x => x.add(It.IsAny(), It.IsAny()).callback((int a, int b) => { a+b;}); IAdd testing = mockadd.Object; Poiché il […]

Metodo protetto dal test unitario in C # usando Moq

Ultimamente mi è venuto in mente che è ansible testare unitamente le classi base astratte usando Moq piuttosto che creare una class fittizia in test che implementa la class base astratta. Vedi Come usare moq per testare un metodo concreto in una class astratta? Ad es. Puoi fare: public abstract class MyAbstractClass { public virtual […]

Come posso fare un test unitario con Entity Framework e Moq?

Sono nuovo di Moq e voglio usarlo come un backing store per i dati, ma senza toccare il database live. La mia configurazione è la seguente: Un UnitOfWork contiene tutti i repository e viene utilizzato per l’accesso ai dati in tutta l’applicazione. Un repository rappresenta un hook diretto in un DbSet, fornito da un DbContext. […]

Come prendere in giro un SqlDataReader usando Moq – Aggiorna

Sono nuovo nel moq e nella creazione di mock quindi potrei fare un piccolo aiuto. Come faccio a mockare un SqlDataReader usando Moq? Aggiornare Dopo ulteriori test questo è quello che ho finora: private IDataReader MockIDataReader() { var moq = new Mock(); moq.Setup( x => x.Read() ).Returns( true ); moq.Setup( x => x.Read() ).Returns( false […]

Moq C # costruito in class

Sto cercando di prendere in giro la class SearchResultCollection. Tuttavia, quando provo a intercettare una chiamata al getter PropertiesLoaded, il mio test genera un’eccezione: System.NotSupportedException: Invalid setup on a non-virtual (overridable in VB) member: x => x.PropertiesLoaded Il mio codice: Mock searchResultMock = new Mock(); // Set up collection that will be returned string[] tempData […]

Mock IMemoryCache con l’eccezione di lancio Moq

Sto cercando di deridere IMemoryCache con Moq. Sto ottenendo questo errore: Un’eccezione di tipo “System.NotSupportedException” si è verificata in Moq.dll ma non è stata gestita nel codice utente Ulteriori informazioni: Espressione fa riferimento a un metodo che non appartiene all’object fittato: x => x.Get (It.IsAny ()) Il mio codice di derisione: namespace Iag.Services.SupplierApiTests.Mocks { public […]

Moq Mocking e tracciamento dei valori di sessione

Sto riscontrando problemi nel restituire un set di valori Session da mocking usando Moq. Utilizzando il seguente public class TestHelpers { public long sessionValue = -1; public HttpContextBase FakeHttpContext() { var httpContext = new Mock(); var session = new Mock(); httpContext.Setup(x => x.Session).Returns(session.Object); httpContext.SetupGet(x => x.Session[“id”]).Returns(sessionValue); httpContext.SetupSet(x => x.Session[“id”] = It.IsAny()) .Callback((string name, object val) […]

Come testare un object dipendente dalla COM in C #

Sto cercando di fare TDD con un object che ha una dipendenza da un’interfaccia COM. Ho pensato di prendere in giro l’interfaccia COM, mentre eseguivo i test di sviluppo, e lo realizzo nei test di integrazione. Tuttavia, non riesco a deridere l’interfaccia COM, ho provato con Moq, e genera un’eccezione: System.TypeLoadException non gestito dal codice […]

Mock out nHibernate QueryOver con Moq

La seguente riga ha esito negativo con riferimento null, durante il test: var awards = _session.QueryOver().Where(x => x.BusinessId == (int)business).List(); Il mio test è così: var mockQueryOver = new Mock<IQueryOver>(); mockQueryOver.Setup(q => q.List()).Returns(new List {_awardingBody}); _mockSession.Setup(c => c.QueryOver()).Returns((mockQueryOver.Object)); _mockCommandRunner = new Mock(); _generator = new CertificateGeneratorForOpenSSLCommandLine(_mockSession.Object, _mockCommandRunner.Object, _mockDirectory.Object, _mockFile.Object, _mockConfig.Object); Ad essere onesti, sto girovagando […]