Sono nuovo in PHPUnit e sto avendo qualche problema nel configurarlo per accedere ai miei file PHP. La struttura di directory che sto usando per la mia app è questo:'Classe non trovata' quando si usano gli spazi dei nomi in PHPUnit
./phpunit.xml
./lib/Application/
-> Dir1/File1.php (namespace = Application\Dir1)
-> Dir1/File2.php
-> Dir2/File1.php (namespace = Application\Dir2)
./tests/Application/Tests
-> Test1.php (namespace = Application\Tests)
-> Test2.php
Nel mio phpunit.xml, ho:
<?xml version="1.0" encoding="UTF-8"?>
<phpunit verbose="false">
<testsuites>
<testsuite name="Application">
<directory>./tests/Application/Tests</directory>
</testsuite>
</testsuites>
<logging>
<log type="coverage-text" target="php://stdout" showUncoveredFiles="false"/>
<log type="json" target="/tmp/phpunit-logfile.json"/>
</logging>
<filter>
<whitelist>
<directory suffix=".php">./lib</directory>
</whitelist>
</filter>
</phpunit>
E in uno dei miei file di test, apro con:
namespace Application\Tests;
use Application\Dir1\File1;
class MyTest extends File1 {}
Ma continua a dire:
Class 'Application \ Dir1 \ File1' non trovato
Dove sto andando male?
Come si fa a caricare Dir1/File1.php dal vostro file di prova? L'istruzione 'use' non significa che non si debbano richiedere i file necessari. –
Ho provato a utilizzare un file bootstrap che fa riferimento a un Autoload.php, ma non ero sicuro di quale funzionalità utilizzare per includere tutti i file necessari. Ho anche pensato che PHPUnit.xml includesse automaticamente i file richiesti nel nodo ''. Non è questo il caso? –
hohner
Basta provare a mettere l'istruzione 'require_once' all'inizio e dovrebbe funzionare. –