Difference between revisions of "Developers/Unit Testing"
From PartKeepr Wiki
(→Introduction) |
|||
Line 8: | Line 8: | ||
vendor/bin/phpunit -c app/ | vendor/bin/phpunit -c app/ | ||
</pre> | </pre> | ||
+ | |||
+ | You can also specify a test file by appending it to the command line: | ||
+ | |||
+ | <pre> | ||
+ | vendor/bin/phpunit -c app/ src/PartKeepr/UnitBundle/Tests/Model/UnitTest.php | ||
+ | </pre> | ||
+ | |||
+ | Since the functional tests use quite some disk I/O, it is recommended that you place your files on a SSD for unit testing (8 seconds vs. several minutes). | ||
= Common Issues = | = Common Issues = |
Revision as of 12:58, 16 February 2016
Contents
Introduction
Most PartKeepr tests are actually functional tests. Because we do automated testing using Travis CI, you need to specify your test database prior executing phpunit:
# Specifies the database connection to use. Other choices are mysql and pgsql as specified in [https://github.com/partkeepr/PartKeepr/blob/sf2migration/app/config/config_test.yml config_test.yml] export SYMFONY__TESTDB=sqlite vendor/bin/phpunit -c app/
You can also specify a test file by appending it to the command line:
vendor/bin/phpunit -c app/ src/PartKeepr/UnitBundle/Tests/Model/UnitTest.php
Since the functional tests use quite some disk I/O, it is recommended that you place your files on a SSD for unit testing (8 seconds vs. several minutes).
Common Issues
Fatal error: Call to undefined method PHPUnit_TextUI_TestRunner::printVersionString()
This might happen if you are using a local PHPUnit installation. You should use the phpunit version installed in
vendor/bin/phpunit
Unable to find file "@PartKeeprFrontendBundle/Resources/public/js/"
Sometimes the cache messes up unit tests, as we are doing functional tests. You should regenerate the environment.