Burla que especifica argumentos esperados para múltiples llamadas

Estoy tratando de burlarme de un objeto que recibe dos llamadas a la misma función pero con diferentes argumentos. Es bastante sencillo devolver diferentes valores de retorno para varias llamadas, pero no puedo encontrar en ningún lado cómo hacerlo con la validación de argumentos.

Lo intenté:

$this->eventDispatcher
    ->shouldReceive('dispatch')
    ->twice()
    ->with(Events::SELECT,\Mockery::type('\Not\Really\A\Namespace\Event'))
    ->with(Events::ACTIVITY,\Mockery::type('\Not\Really\A\Namespace\Event');

Y

$this->eventDispatcher
        ->shouldReceive('dispatch')
        ->twice()
        ->with(
            [Events::SELECT,\Mockery::type('\Not\Really\A\Namespace\Event')],
            [Events::ACTIVITY,\Mockery::type('\Not\Really\A\Namespace\Event')]
        );

Pero ellosno lo hagas trabajo.

De la salida que PHPUnit me da, ¿parece que estoy obteniendo una matriz?

Respuestas a la pregunta(1)

Su respuesta a la pregunta