texto sintaxis programar programacion pasos paso para lenguaje encabezado empezar ejemplo desde con como cero aprender aprende fixtures fixture

fixtures - sintaxis - programacion html



¿Qué son los accesorios en la programación? (3)

Escuché este término muchas veces antes (cuando hablaba de programación) pero no pude encontrar ninguna explicación de lo que significa. ¿Algún buen artículo o explicación? No encontré nada que valga la pena mencionar.


Creo que las pruebas de unidad PHP tienen una muy buena explicación de esto:

Una de las partes de las pruebas de escritura que consumen más tiempo es escribir el código para configurar 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 los documentos Yii describieron la prueba de los accesorios en una buena forma:

Las pruebas automatizadas deben ser ejecutadas muchas veces. Para garantizar que el proceso de prueba sea repetible, nos gustaría ejecutar las pruebas en un estado conocido llamado accesorio. Por ejemplo, para probar la función de creación posterior en una aplicación de blog, cada vez que ejecutamos las pruebas, las tablas que almacenan datos relevantes sobre las publicaciones (por ejemplo, la tabla de publicaciones, la tabla de comentarios) deben restaurarse a un estado fijo.

Aquí el ejemplo simple de prueba de accesorios

<?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)); } } ?>

Esta prueba de unidad PHP tiene funciones con los nombres setUp y tearDown que antes de ejecutar la prueba configuras tus datos y al finalizar puedes restaurarlos al estado inicial.


Creo que te refieres a accesorios de prueba :

El objetivo de un accesorio de prueba es garantizar que exista un entorno bien conocido y fijo en el que se ejecuten las pruebas para que los resultados sean repetibles. 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 arriba)

Aquí también hay algunos ejemplos prácticos de la documentación del marco ''Google Test'' .


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

La porción relacionada del artículo es:

Las pruebas deben ejecutarse 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 tienes un accesorio común, esto es lo que haces:

Agregue un campo para cada parte del dispositivo Anote un método con @ org.junit. Antes e inicialice las variables en ese método Anote un método con @ org.junit.Después de liberar cualquier recurso permanente que haya asignado en setUp Por ejemplo, para escribir varios casos de prueba que quieren trabajar con diferentes combinaciones de 12 francos suizos, 14 francos suizos y 28 dólares estadounidenses, primero crean 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"); } }