PHPUnit: Serialization of ‚Closure‘ is not allowed

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Elijen
Člen | 171
+
0
-

Staré téma je zamčené, tak zakládám nové.

Snažím se (poprvé) rozjet PHPUnit testy pro Nette2 ale při každém spuštění testů (přes NetBeans) to hází výjimku „Serialization of ‚Closure‘ is not allowed“.

Zkoušel jsem:

1. Vypnout serializaci globals v configuration.xml (vygenerovaný NetBeansama) dle rady:

<?xml version="1.0"?>
<phpunit colors="false"
	backupGlobals="false"
	backupStaticAttributes="true">
</phpunit>

2. Pokusit se vypnout serializaci pomocí anotací (/** @backupGlobals disabled */)

3. Zakomentovat v bootstrap.php $application->run()

Dále si nevím rady :-(

A tady ještě kód třídy s testem:

<?php
require_once '../www/index.php';

/**
 * @backupGlobals disabled
 */
class BaseModelTest extends PHPUnit_Framework_TestCase {

	public function testFetchPairs() {

		$baseModel = $this->getMock('\KCMS\Models\BaseModel',
			array('fetchPairs'));

		$rows = array(
			array(
				'id' => 1,
				'name' => 'Foo',
				'age' => 21),
			array(
				'id' => 2,
				'name' => 'Boo',
				'age' => 18)
		);

		$this->assertEquals(array(1=>'Foo', 2=>'Boo'),
			$baseModel->fetchPairs($rows, 'id', 'name'));
	}
}

Nevítě někdo čím by být, že mi PHPUnit hází exception i když mám serializaci vypnutou?

Předem díky.

Editoval Elijen (10. 8. 2011 11:57)

Tharos
Člen | 1030
+
0
-

Vyzkoušej ještě nastavit backupStaticAttributes na false.