Articles of moq

¿Cuál es la diferencia entre pasar It.IsAny () y el valor de It.IsAny () a una configuración de método

Estoy usando Moq y quiero crear clases de comstackdor para crear mis simulaciones con valores predeterminados razonables predeterminados que pueden anularse durante la configuración de prueba según sea necesario. El enfoque que tomé usa métodos de extensión en los que paso los valores de los parámetros de entrada y la salida esperada. Al hacerlo, veo […]

¿Por qué la propiedad que quiero burlar necesita ser virtual?

Estoy haciendo algunas pruebas unitarias y burlando algunas propiedades usando Moq . Ahora, esta es una prueba de controlador (ASP.NET MVC 3). Mis controladores derivan de un controlador abstracto , llamado AbstractController . Este controlador tiene una dependencia en el contexto Http (para hacer cosas como tematización, lógica específica de dominio basada en encabezados HTTP […]

¿Por qué recibo una Excepción con el mensaje “Configuración no válida en un miembro no virtual (anulable en VB) …”?

Tengo una prueba de unidad donde tengo que burlarme de un método no virtual que devuelve un tipo bool public class XmlCupboardAccess { public bool IsDataEntityInXmlCupboard(string dataId, out string nameInCupboard, out string refTypeInCupboard, string nameTemplate = null) { return IsDataEntityInXmlCupboard(_theDb, dataId, out nameInCupboard, out refTypeInCupboard, nameTemplate); } } Así que tengo un objeto simulado de […]

¿Cómo burlarse de los métodos estáticos en c # usando el marco MOQ?

He estado haciendo pruebas unitarias recientemente y me burlé con éxito de varios escenarios con el uso del marco MOQ y las pruebas MS mediante la creación de pruebas unitarias. Como sé, no podemos hacer pruebas de métodos privados, pero utilizando la reflexión, pero quiero saber cómo podemos probar y simular pruebas unitarias mediante el […]

Cómo burlarse de métodos no virtuales?

[TestMethod] public void TestMethod1() { var mock = new Mock(); mock.Setup(x => x.SendEmail()).Returns(true); var cus = new Customer(); var result = cus.AddCustomer(mock.Object); Assert.IsTrue(result); } public class Customer { public bool AddCustomer(EmailService emailService) { emailService.SendEmail(); Debug.WriteLine(“new customer added”); return true; } } public class EmailService { public virtual bool SendEmail() { throw new Exception(“send email failed […]

¿Cómo me burlo de User.Identity.GetUserId ()?

Estoy tratando de probar mi código unitario que incluye la línea: UserLoginInfo userIdentity = UserManager.GetLogins(User.Identity.GetUserId()).FirstOrDefault(); Solo estoy atrapado en un momento porque no puedo obtenerlo: User.Identity.GetUserId() para devolver un valor He estado intentando lo siguiente en la configuración de mi controlador: var mock = new Mock(); mock.Setup(p => p.HttpContext.User.Identity.GetUserId()).Returns(“string”); Pero da un error de “NotSupportedException […]

Moq: unidad probando un método que depende de HttpContext

Considere un método en un ensamblado .NET: public static string GetSecurityContextUserName() { //extract the username from request string sUser = HttpContext.Current.User.Identity.Name; //everything after the domain sUser = sUser.Substring(sUser.IndexOf(“\\”) + 1).ToLower(); return sUser; } Me gustaría llamar a este método desde una prueba unitaria utilizando el marco Moq. Este ensamblaje es parte de una solución de […]

Cómo simular un repository asíncrono con Entity Framework Core

Intento crear una prueba unitaria para una clase que llama a un repository asíncrono. Estoy usando ASP.NET Core y Entity Framework Core. Mi repository genérico se ve así. public class EntityRepository : IEntityRepository where TEntity : class { private readonly SaasDispatcherDbContext _dbContext; private readonly DbSet _dbSet; public EntityRepository(SaasDispatcherDbContext dbContext) { _dbContext = dbContext; _dbSet = […]

¿Cómo puedo decirle a Moq que devuelva una tarea?

Tengo una interfaz que declara Task DoSomethingAsync(); Estoy usando MoqFramework para mis pruebas: [TestMethod()] public async Task MyAsyncTest() { Mock mock = new Mock(); mock.Setup(arg => arg.DoSomethingAsync()).Callback(() => { }); … } Luego en mi prueba ejecuto el código que invoca await DoSomethingAsync() . Y la prueba simplemente falla en esa línea. ¿Qué estoy haciendo […]

Simulacro de propiedad estática con moq

Soy bastante nuevo para usar moq . Estoy en crear un caso de prueba unitaria para HttpModule y todo funciona bien hasta que toco una propiedad static siguiente manera this.applicationPath = (HttpRuntime.AppDomainAppVirtualPath.Length > 1) ? HttpRuntime.AppDomainAppVirtualPath : String.Empty; No sé cómo crear burlas para clases static y propiedades como HttpRuntime.AppDomainAppVirtualPath . El context , la […]