Použití anotace @dataProvider s přístupy do DB za použití Tester\TestCase

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

Mám soubor databases.ini, který v testu načítám pomocí anotace @dataProvider databases.ini. Když je tento test napsán bez použití TestCase (tedy jednotlivé asserce jdou jedna za druhou), tak vše funguje dobře, ale v souboru, kde mám testovací třídu a tato třída dědí TestCase se mi v terminálu vyhazuje chyba: Tester\TestCaseException: Method 'mysql' does not exist or it is not a testing method.. V onom načítaném souboru databases.ini mám právě sekci [mysql] s přístupy do DB. Odtud asi pochází ta záhadná metoda mysql z chybové hlášky, ovšem žádnou takovou metodu v testu (ve třídě) samozřejmě nemám. Nevíte, co by mohlo být špatně? Níže uvádím ukázku kódu.

/**
 * Test: MyModule\MyRepository
 *
 * @author        John Doe
 * @dataProvider? databases.ini
 * @testCase
 */

namespace Test;

use Nette,
	Tester,
	Tester\Assert;

require __DIR__ . '/connect.inc.php'; // create $connection


class MyRepositoryTest extends Tester\TestCase
{

	private $connection;

	private $repository;


	// TestRepository pochází se souboru connect.ini.php načítaného pomocí require výše
	public function __construct(Nette\Database\Connection $connection, TestRepository $repository)
	{
		$this->connection = $connection;
		$this->repository = $repository;
	}


	public function setUp()
	{
		Nette\Database\Helpers::loadFromFile($this->connection, __DIR__ . '/files/mysql-my_test1.sql');
	}


	public function testMethod1()
	{
		Assert::true(TRUE);
	}

}

$testCase = new MyRepositoryTest($connection, new TestRepository('user', $context));
$testCase->run();
Milo
Nette Core | 1283
+
0
-

Je to bug (nedořešená feature). https://github.com/…r/issues/136. Díky za report.