I'm new to PHPUnit and am having some trouble setting it up to access my PHP files. The directory structure I'm using for my app is this:
./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
In my PhpUnit.xml, I have:
<?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>
And in one of my test files, I open with:
namespace Application\Tests; use Application\Dir1\File1; class MyTest extends File1 {}
But it keeps on saying:
Class 'Application\Dir1\File1' not found
Where am I going wrong?
PHPUnit InstallationThe first command creates a folder in your current directory, test-project and the second command moves into it. The last command starts an interactive shell. Follow the prompt, filling in the details as required (the default values are fine).
PHPUnit is a unit testing framework for the PHP programming language. It is an instance of the xUnit architecture for unit testing frameworks that originated with SUnit and became popular with JUnit. PHPUnit was created by Sebastian Bergmann and its development is hosted on GitHub.
If you installed PHPUnit using Composer then you can use Composers autoloader. The easiest way to do so would be to add:
"autoload":{ "psr-0":{ "your-app-directory":"" } }
to composer.json
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With