Preguntas etiquetadas con mocking

Las burlas y las falsificaciones son formas de aislar el código o los componentes para garantizar que las pruebas unitarias se ejecuten contra la unidad de código comprobable solo sin utilizar otros componentes o dependencias de una aplicación. La burla difiere de la falsificación en que se puede inspeccionar una simulación para afirmar los resultados de una prueba.

68
¿Es este un uso apropiado del método de reinicio de Mockito?

Tengo un método privado en mi clase de prueba que construye un Barobjeto de uso común . El Barconstructor llama al someMethod()método en mi objeto burlado: private @Mock Foo mockedObject; // My mocked object ... private Bar getBar() { Bar result = new Bar(mockedObject); // this calls...

15
La burla introduce el manejo en el código de producción

Asumiendo una interfaz IReader, una implementación de la interfaz IReader ReaderImplementation y una clase ReaderConsumer que consume y procesa datos del lector. public interface IReader { object Read() } Implementación public class ReaderImplementation { ... public object Read() { ......

15
Cómo evitar la necesidad de probar métodos privados

Sé que se supone que no debes probar métodos privados, y si parece que lo necesitas, es posible que haya una clase allí esperando para salir. Pero, no quiero tener un millón de clases solo para poder probar sus interfaces públicas y encuentro que para muchas clases si solo pruebo los métodos...

14
¿Cuándo debo usar objetos simulados?

He leído muchas cosas sobre TDD pero todavía tengo dudas. Por ejemplo, tengo estos diagramas de clases: Es un ejemplo simple, solo para aprender sobre TDD y simular objetos. ¿Qué prueba debo escribir primero? Producto , luego Línea y último, ¿ Orden ? Si hago eso, ¿debo usar Line and Product...

12
Prueba: DB en memoria vs burla

Al escribir pruebas, ¿por qué alguien querría usar una base de datos en memoria en lugar de simplemente burlarse de los datos? Pude ver que las bases de datos en memoria podrían ser beneficiosas para probar los repositorios de uno. Pero si se utiliza un marco (como Spring Data), probar los...