Articles of unit testing

¿Cómo puedo incluir clases de prueba en Maven jar y ejecutarlas?

En un proyecto de Maven, tengo clases de prueba y clases de origen en el mismo paquete, pero en diferentes ubicaciones físicas. …/src/main/java/package/** <– application code …/src/test/java/package/** <– test code No es ningún problema acceder a las clases fuente en las clases de prueba, pero me gustaría ejecutar un AllTest.class prueba en el método principal […]

¿Cómo ignoro el marcador de orden de bytes UTF-8 en las comparaciones de cadenas?

Tengo un problema para comparar cadenas en una prueba unitaria en C # 4.0 con Visual Studio 2010. Este mismo caso de prueba funciona correctamente en Visual Studio 2008 (con C # 3.5). Aquí está el fragmento de código relevante: byte[] rawData = GetData(); string data = Encoding.UTF8.GetString(rawData); Assert.AreEqual(“Constant”, data, false, CultureInfo.InvariantCulture); Al depurar esta […]

¿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 […]

¿Cómo afirmo la igualdad en dos clases sin un método igual?

Digamos que tengo una clase sin método equals (), a la cual no tengo la fuente. Quiero afirmar la igualdad en dos instancias de esa clase. Puedo hacer múltiples aseveraciones: assertEquals(obj1.getFieldA(), obj2.getFieldA()); assertEquals(obj1.getFieldB(), obj2.getFieldB()); assertEquals(obj1.getFieldC(), obj2.getFieldC()); … No me gusta esta solución porque no obtengo la imagen completa de igualdad si falla una afirmación temprana. […]

cómo exportar (JUnit) suite de prueba como archivo ejecutable

¿Hay alguna forma en Eclipse (Helios) de empaquetar / exportar mis conjuntos de pruebas JUnit (o incluso casos de prueba, si es posible) como archivos ejecutables? Sé cómo generar archivos ejecutables de proyectos con una clase principal, pero no tengo ni idea de cómo incluir un TestRunner . ¿Hay una manera directa, o tengo que […]

Formando “gramáticas” de Mockito

Mockito parece un marco de burla / burla bastante dulce para Java. El único problema es que no puedo encontrar ninguna documentación concreta sobre las mejores formas de usar su API. Los métodos comunes usados ​​en las pruebas incluyen: doXXX(???) : Stubber when(T) : OngoingStubbing then(T) : OngoingStubbing verify(???) : T given(T) : BDDOngoingStubbing willXXX(???) […]

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 […]

Pasar parámetros complejos a

Xunit tiene una buena característica : puede crear una prueba con un atributo de Theory y poner datos en atributos InlineData , y xUnit generará muchas pruebas y las probará todas. Quiero tener algo como esto, pero los parámetros de mi método no son ‘datos simples’ (como string , int , double ), sino una […]

Controlador de prueba de la unidad ASP.NET MVC con HttpContext

Estoy intentando escribir una prueba unitaria para mi controlador único para verificar si una vista se devolvió correctamente, pero este controlador tiene un controlador base que accede a HttpContext.Current.Session. Cada vez que creo una nueva instancia de mi controlador, se llama al constructor del controlador base y la prueba falla con una excepción de puntero […]

Unidad probando una clase con un reloj Java 8

Java 8 introdujo java.time.Clock que se puede utilizar como argumento para muchos otros objetos java.time , lo que le permite inyectar un reloj real o falso en ellos. Por ejemplo, sé que puede crear un Clock.fixed() y luego llamar a Instant.now(clock) y devolverá el Instant fijo que proporcionó. ¡Esto suena perfecto para pruebas unitarias! Sin […]