Clases de sistemas burlones

Varios componentes dentro del marco proporcionan versiones simuladas de sus clases que se pueden usar durante las pruebas. estas clases puede tomar el lugar de la clase normal durante la ejecución de la prueba, a menudo proporcionando afirmaciones adicionales para probar esas acciones han tenido lugar (o no han tenido lugar) durante la ejecución de la prueba. Esto podría ser verificar que los datos se almacenen en caché correctamente, los correos electrónicos se enviaron correctamente, etc.

Cache

Puedes simular el caché con el método mock(), usando CacheFactory como único parámetro.

<?php

$mock = mock(\Higgs\Cache\CacheFactory::class);

Si bien esto devuelve una instancia de Higgs\Test\Mock\MockCache que puedes usar directamente, también inserta el simulacro en la clase Servicio, por lo que cualquier llamada dentro de su código a service('cache') o Config\Services::cache() use la clase burlada en su lugar.

Cuando use esto en más de un método de prueba dentro de un solo archivo, debe llamar a clean() o bypass(). métodos durante la prueba setUp() para garantizar un borrón y cuenta nueva cuando se ejecuten las pruebas.

Métodos adicionales

Puede indicarle al controlador de caché simulado que nunca realice ningún almacenamiento en caché con el método bypass(). Esto emulará utilizando el controlador ficticio y garantiza que su prueba no dependa de datos almacenados en caché para sus pruebas.

<?php

$mock = mock(\Higgs\Cache\CacheFactory::class);
// Never cache any items during this test.
$mock->bypass();

Afirmaciones disponibles

Las siguientes nuevas afirmaciones están disponibles en la clase simulada para usar durante las pruebas:

<?php

$mock = mock(\Higgs\Cache\CacheFactory::class);

// Assert that a cached item named $key exists
$mock->assertHas($key);
// Assert that a cached item named $key exists with a value of $value
$mock->assertHasValue($key, $value);
// Assert that a cached item named $key does NOT exist
$mock->assertMissing($key);