From ff64852fc0044914f43b76624ba79fb049ac6a24 Mon Sep 17 00:00:00 2001 From: Demian Katz <demian.katz@villanova.edu> Date: Tue, 3 Nov 2015 13:09:21 -0500 Subject: [PATCH] Add ability to use Selenium driver instead of Zombie.js. - Note that as of this writing, tests only pass under Zombie.js. --- build.xml | 5 +++-- module/VuFind/src/VuFindTest/Unit/MinkTestCase.php | 8 +++++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/build.xml b/build.xml index 1d1af20c9f2..e2ce80f1ac8 100644 --- a/build.xml +++ b/build.xml @@ -20,6 +20,7 @@ <property name="pgsqlhost" value="localhost" /> <property name="pgsqlrootuser" value="postgres" /> <property name="phpunit_extra_params" value="" /> + <property name="mink_driver" value="zombiejs" /><!-- may also be set to selenium --> <property name="php-cs-fixers" value="no_blank_lines_before_namespaces,function_call_space,trailing_spaces,unused_use,lowercase_keywords,encoding,parenthesis,php_closing_tag,visibility,duplicate_semicolon,extra_empty_lines,no_blank_lines_after_class_opening,no_empty_lines_after_phpdocs,operators_spaces,spaces_before_semicolon,ternary_spaces,concat_with_spaces,short_array_syntax,phpdoc_no_access,remove_leading_slash_use" /> @@ -109,12 +110,12 @@ <!-- PHPUnit --> <target name="phpunit" description="Run tests"> - <exec dir="${srcdir}/module/VuFind/tests" command="NODE_PATH=${nodepath} VUFIND_LOCAL_DIR=${srcdir}/local VUFIND_URL=${vufindurl} phpunit -dzend.enable_gc=0 --log-junit ${builddir}/reports/phpunit.xml --coverage-clover ${builddir}/reports/coverage/clover.xml --coverage-html ${builddir}/reports/coverage/ ${phpunit_extra_params}" passthru="true" checkreturn="true" /> + <exec dir="${srcdir}/module/VuFind/tests" command="NODE_PATH=${nodepath} VUFIND_MINK_DRIVER=${mink_driver} VUFIND_LOCAL_DIR=${srcdir}/local VUFIND_URL=${vufindurl} phpunit -dzend.enable_gc=0 --log-junit ${builddir}/reports/phpunit.xml --coverage-clover ${builddir}/reports/coverage/clover.xml --coverage-html ${builddir}/reports/coverage/ ${phpunit_extra_params}" passthru="true" checkreturn="true" /> </target> <!-- PHPUnit without logging output --> <target name="phpunitfast" description="Run tests"> - <exec dir="${srcdir}/module/VuFind/tests" command="NODE_PATH=${nodepath} VUFIND_LOCAL_DIR=${srcdir}/local VUFIND_URL=${vufindurl} phpunit -dzend.enable_gc=0 ${phpunit_extra_params}" passthru="true" checkreturn="true" /> + <exec dir="${srcdir}/module/VuFind/tests" command="NODE_PATH=${nodepath} VUFIND_MINK_DRIVER=${mink_driver} VUFIND_LOCAL_DIR=${srcdir}/local VUFIND_URL=${vufindurl} phpunit -dzend.enable_gc=0 ${phpunit_extra_params}" passthru="true" checkreturn="true" /> </target> <!-- Install and Activate VuFind --> diff --git a/module/VuFind/src/VuFindTest/Unit/MinkTestCase.php b/module/VuFind/src/VuFindTest/Unit/MinkTestCase.php index 49e67a80e8e..6bd9d8deb10 100644 --- a/module/VuFind/src/VuFindTest/Unit/MinkTestCase.php +++ b/module/VuFind/src/VuFindTest/Unit/MinkTestCase.php @@ -111,9 +111,11 @@ abstract class MinkTestCase extends DbTestCase protected function getMinkDriver() { if (self::$driver === false) { - self::$driver = new ZombieDriver( - new \Behat\Mink\Driver\NodeJS\Server\ZombieServer() - ); + self::$driver = (getenv('VUFIND_MINK_DRIVER') === 'selenium') + ? new \Behat\Mink\Driver\Selenium2Driver('firefox') + : new ZombieDriver( + new \Behat\Mink\Driver\NodeJS\Server\ZombieServer() + ); } return self::$driver; } -- GitLab