2010-09-13 13 views
9

El generador de prueba de la unidad incorporada (VS) para las clases objetivo debe ser utilizado o debo aprender cómo escribir una prueba unitaria? ¿Y qué es esta cosa "falsa"? Lo escucho una y otra vez, pero a nadie le importa dar una buena explicación.C# - Prueba de la unidad, ¿simulacro?

Gracias de antemano.

+1

Eso fue gracioso. –

+0

posible duplicado de [¿Qué es burlarse?] (Http://stackoverflow.com/questions/2665812/what-is-mocking) – nawfal

Respuesta

16

Debe aprender a escribir pruebas de unidad usted mismo. Comience con el pie derecho con una buena comprensión de la terminología que muchas personas cometen errores con respecto a:

Prueba de la unidad: Prueba de una sola unidad de código, prueba atómica muy pequeña.

Prueba de integración: prueba de varias unidades de código integradas entre sí, para pasar por las diferentes capas y asegurarse de que se usen entre sí correctamente. Esto se debe hacer después de que las pruebas unitarias hayan verificado que las unidades individuales funcionen independientemente. Muchas personas se refieren erróneamente a estos como pruebas unitarias.

Prueba de verificación incorporada: probar el producto construido al implementarlo y ejecutar pruebas que interactúen con él de la manera en que lo haría un usuario. También se conocen erróneamente como pruebas unitarias con frecuencia. Estas son las pruebas con más funciones completas y, a menudo, las realizan los equipos de prueba en lugar de automatizarlas.

Aquí está la guía de inicio rápido para MOQ que es un marco de burla: https://github.com/Moq/moq4/wiki/Quickstart

que imita es el acto de tomar una pequeña pieza de código que puede depender de otras cosas, burlarse de esas otras cosas de modo que se puede controlar el circunstancias que rodean la pieza de código que desea probar.

El propósito del burlarse es la atomicidad en las pruebas. Le permite probar solo la pieza de código individual que desee, sin que sus pruebas se vean afectadas debido a errores en los códigos dependientes. También burlarse te da la habilidad de fabricar una variedad de escenarios para probar los casos extremos de cada fragmento de código.

En general, burlar se crea para delimitar el código objetivo en pruebas unitarias, aunque no es raro usarlo también en pruebas de integración para fabricar un recurso que sirva de semilla para la cadena de código integrada a la que se dirige.

+0

En caso de que esos "burla" se guarden en una clase para ellos o son solo temporales para probar algunos descifrar y luego eliminar el simulacro (s) después? – ebb

+0

@ebb: Esa es una forma de hacerlo de la vieja escuela y funciona bien, pero es ahí donde entran los marcos burlones, te permiten simular objetos sin crear realmente la clase falsa para usar. Sin embargo, toda burla depende de tener una relación polimórfica con los objetos que pretendes ser. Por lo tanto, necesita una interfaz o clase base para compartir, o métodos virtuales para anular los objetos que pretende ser. –

+1

¿Qué debo aprender primero? ¿Mocking or Unit testing? – ebb