cleanMock.README 1.47 KB
--
-- @author   Eriksen Costa Paixão <eriksen.paixao_bs@cobra.com.br>
-- @license  http://creativecommons.org/licenses/GPL/2.0/legalcode.pt  CC GNU GPL
-- @link     http://github.com/eriksencosta/phpunit/commit/ae26bcc3c3bc81321f741c6d99e8389b1b937fb4  PHPUnit fork
--

Patch para o PHPUnit com a diretiva de configuração "cleanMock" para o arquivo
phpunit.xml

Na release 3.4.7 do PHPUnit, foi corrigido o bug TRAC-986, reduzindo o consumo
de memória para testes que utilizam mock objects:

http://github.com/sebastianbergmann/phpunit/commit/8b5044ff919f51e1da653e49bc7413f3e9f6dc29

O código simplesmente a desaloca o objeto na memória, disponibilizando-o ao GC
do PHP.

No entanto, essa correção quebrou alguns testes do i-Educar que lidam com
classes legadas (namespace App). As instâncias dessas classes são mantidas no
registry da classe CoreExt_Entity para facilitar o setup dos testes.

Para resolver esse problema, foi implementado uma nova opção de configuração no
PHPUnit chamada "cleanMock". Quando seu valor está "false", o PHPUnit não irá
desalocar o mock automaticamente. Caso "cleanMock" não seja configurado, o
comportamento default do PHPUnit é realizado.

Todo o histórico de implementação dessa feature está disponível em:

http://github.com/eriksencosta/phpunit/commit/ae26bcc3c3bc81321f741c6d99e8389b1b937fb4

Enquanto a feature não for incorporada por padrão no core do PHPUnit, esse
patch deverá ser mantido e a sua aplicação deverá ser estimulada através da
documentação oficial.