Busco la mejor manera de hacer las pruebas de la siguiente método estático (específicamente el uso de un modelo Doctrina):PHPUnit Mock objetos y métodos estáticos
class Model_User extends Doctrine_Record
{
public static function create($userData)
{
$newUser = new self();
$newUser->fromArray($userData);
$newUser->save();
}
}
Idealmente, me gustaría utilizar un objeto de burla para asegurar que "fromArray" (con los datos de usuario provistos) y "save" se llamaron, pero eso no es posible ya que el método es estático.
¿Alguna sugerencia?
A tener en cuenta " Este enfoque solo funciona para el tropezón y la burla de las llamadas a métodos estáticos donde la persona que llama y la llamada están en la misma clase. Esto se debe a que [los métodos estáticos son muerte a prueba] (http://misko.hevery.com/2008/12/15/static-methods-are-death-to-testability/). " –
La función 'staticExpects' se ha eliminado a partir de PHPUnit v4. Ver [este hilo en github] (https://github.com/sebastianbergmann/phpunit-mock-objects/issues/137) para obtener una explicación de por qué. –
Como sabemos que 'staticExpects' se ha eliminado de la versión reciente de PHPUnit, ¿cuál es la forma alternativa de lograr esto sin' staticExpects'? –