2012-08-22 29 views

Respuesta

94

Creo que te refieres a test fixtures:

El propósito de un accesorio de prueba es asegurar que existe un entorno bien conocido y fijo en el que se ejecutan las pruebas para que los resultados son repetible. Algunas personas llaman a esto el contexto de prueba.

Ejemplos de accesorios:

- Loading a database with a specific, known set of data 
- Erasing a hard disk and installing a known clean operating system installation 
- Copying a specific known set of files 
- Preparation of input data and set-up/creation of fake or mock objects 

(Fuente: Wikipedia, ver enlace anterior)

Éstos son también algunos practical examples from the documentation of the 'Google Test' framework.

2

Exactamente a ese tema, JUnit tiene un documento bien explicado. Here es el enlace!

La porción relacionada del artículo es:

pruebas necesitan para funcionar en el contexto de un conjunto conocido de objetos. Este conjunto de objetos se llama accesorio de prueba. Cuando está escribiendo pruebas, a menudo encontrará que pasa más tiempo escribiendo el código para configurar el dispositivo que con los valores de prueba reales.

Hasta cierto punto, puede hacer que escribir el código del dispositivo sea más fácil prestando especial atención a los constructores que escribe. Sin embargo, un ahorro mucho mayor proviene de compartir el código del dispositivo. A menudo, podrás usar el mismo accesorio para varias pruebas diferentes. Cada caso enviará mensajes o parámetros ligeramente diferentes al dispositivo y verificará resultados diferentes.

Cuando usted tiene un accesorio común, esto es lo que hace:

añadir un campo para cada parte del aparato Anotar un método con @ org.junit.Before e inicializar las variables en ese método Anotar un método con @ org.junit.Después de liberar los recursos permanentes que asignó en setUp Por ejemplo, para escribir varios casos de prueba que deseen trabajar con diferentes combinaciones de 12 francos suizos, 14 francos suizos y 28 dólares estadounidenses, primero cree un accesorio:

public class MoneyTest { 
    private Money f12CHF; 
    private Money f14CHF; 
    private Money f28USD; 

    @Before public void setUp() { 
    f12CHF= new Money(12, "CHF"); 
    f14CHF= new Money(14, "CHF"); 
    f28USD= new Money(28, "USD"); 
    } 
} 
4

creo pruebas PHP unidades tienen muy buena explicación de esto:

Una de las partes que más tiempo requiere de pruebas de escritura está escribiendo el código fijar el mundo en un estado conocido y luego devolverlo a su estado original cuando se completa la prueba. Este estado conocido se llama el accesorio de la prueba.

también documentos Yii describen prueba de accesorios en una buena forma: necesitan ser ejecutada muchas veces

pruebas automáticas.Para garantizar que la prueba del proceso sea repetible, nos gustaría ejecutar las pruebas en algún dispositivo conocido llamado accesorio. Por ejemplo, para probar la función de creación de publicaciones en una aplicación de blog, cada vez que ejecutamos las pruebas, las tablas que almacenan datos relevantes sobre publicaciones (por ejemplo, la tabla de publicaciones, la tabla Comment ) deben restaurarse a un estado fijo.

Aquí el ejemplo simple de prueba accesorios

prueba de unidad
<?php 
use PHPUnit\Framework\TestCase; 

class StackTest extends TestCase 
{ 
    protected $stack; 

    protected function setUp() 
    { 
     $this->stack = []; 
    } 

    protected function tearDown() 
    { 
     $this->stack = []; 
    } 

    public function testEmpty() 
    { 
     $this->assertTrue(empty($this->stack)); 
    } 

    public function testPush() 
    { 
     array_push($this->stack, 'foo'); 
     $this->assertEquals('foo', $this->stack[count($this->stack)-1]); 
     $this->assertFalse(empty($this->stack)); 
    } 

    public function testPop() 
    { 
     array_push($this->stack, 'foo'); 
     $this->assertEquals('foo', array_pop($this->stack)); 
     $this->assertTrue(empty($this->stack)); 
    } 
} 
?> 

Este PHP tiene funciones con nombres setUp y tearDown que antes de ejecutar la prueba a configurar sus datos y el acabado puede restaurarlos a la inicial estado.

Cuestiones relacionadas