Browse Source

Try using phpunit

pull/804/head
Jared Whiklo 5 years ago
parent
commit
704689cd1b
  1. 7
      .scripts/run-tests.sh
  2. 9
      .travis.yml
  3. 88
      phpunit.xml

7
.scripts/run-tests.sh

@ -2,11 +2,6 @@
# Wrapper for the test executing function so we only have to change it in one place.
# The module name gets passed in as a command line arg.
if [ "$1" == "unit" ]; then
TYPE="--types \"PHPUnit-Unit,PHPUnit-Kernel,Simpletest\""
elif [ "$1" == "functional" ]; then
TYPE="--types \"PHPUnit-FunctionalJavascript,PHPUnit-Functional\""
fi
COMMAND="php core/scripts/run-tests.sh --suppress-deprecations --concurrency 2 --url http://127.0.0.1:8282 --verbose --php `which php` $TYPE --module \"$2\""
COMMAND="$DRUPAL_DIR/vendor/bin/phpunit -c $PHPUNIT_FILE --verbose --testsuite "$1"
echo $COMMAND
$COMMAND

9
.travis.yml

@ -7,6 +7,7 @@ php:
env:
- TESTSUITE=unit
- TESTSUITE=functional
- TESTSUITE=function-javascript
matrix:
fast_finish: true
@ -26,6 +27,7 @@ before_install:
- export SCRIPT_DIR=$HOME/islandora/.scripts
- export DRUPAL_DIR=/opt/drupal
- export CUSTOM_SCRIPT_DIR=$TRAVIS_BUILD_DIR/.scripts
- export PHPUNIT_FILE=$TRAVIS_BUILD_DIR/phpunit.xml
- export COMPOSER_PATH="/home/travis/.phpenv/versions/$TRAVIS_PHP_VERSION/bin/composer"
- phpenv config-rm xdebug.ini
@ -43,12 +45,7 @@ install:
script:
- $SCRIPT_DIR/travis_scripts.sh
- $CUSTOM_SCRIPT_DIR/run-tests.sh "$TESTSUITE" "islandora"
- $CUSTOM_SCRIPT_DIR/run-tests.sh "$TESTSUITE" "islandora_breadcrumbs"
- $CUSTOM_SCRIPT_DIR/run-tests.sh "$TESTSUITE" "islandora_image"
- $CUSTOM_SCRIPT_DIR/run-tests.sh "$TESTSUITE" "islandora_audio"
- $CUSTOM_SCRIPT_DIR/run-tests.sh "$TESTSUITE" "islandora_video"
- $CUSTOM_SCRIPT_DIR/run-tests.sh "$TESTSUITE" "islandora_text_extraction"
- $CUSTOM_SCRIPT_DIR/run-tests.sh "$TESTSUITE"
notifications:
slack:

88
phpunit.xml

@ -0,0 +1,88 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- TODO set checkForUnintentionallyCoveredCode="true" once https://www.drupal.org/node/2626832 is resolved. -->
<!-- PHPUnit expects functional tests to be run with either a privileged user
or your current system user. See core/tests/README.md and
https://www.drupal.org/node/2116263 for details.
-->
<phpunit bootstrap="tests/bootstrap.php" colors="true"
beStrictAboutTestsThatDoNotTestAnything="true"
beStrictAboutOutputDuringTests="true"
beStrictAboutChangesToGlobalState="true"
printerClass="\Drupal\Tests\Listeners\HtmlOutputPrinter">
<php>
<!-- Set error reporting to E_ALL. -->
<ini name="error_reporting" value="32767"/>
<!-- Do not limit the amount of memory tests take to run. -->
<ini name="memory_limit" value="-1"/>
<!-- Example SIMPLETEST_BASE_URL value: http://localhost -->
<env name="SIMPLETEST_BASE_URL" value="http://127.0.0.1:8282"/>
<!-- Example SIMPLETEST_DB value: mysql://username:password@localhost/databasename#table_prefix -->
<env name="SIMPLETEST_DB" value="mysql://drupal:drupal@127.0.0.1/drupal"/>
<!-- Example BROWSERTEST_OUTPUT_DIRECTORY value: /path/to/webroot/sites/simpletest/browser_output -->
<env name="BROWSERTEST_OUTPUT_DIRECTORY" value=""/>
<!-- To have browsertest output use an alternative base URL. For example if
SIMPLETEST_BASE_URL is an internal DDEV URL, you can set this to the
external DDev URL so you can follow the links directly.
-->
<env name="BROWSERTEST_OUTPUT_BASE_URL" value=""/>
<!-- To disable deprecation testing completely uncomment the next line. -->
<!-- <env name="SYMFONY_DEPRECATIONS_HELPER" value="disabled"/> -->
<!-- Example for changing the driver class for mink tests MINK_DRIVER_CLASS value: 'Drupal\FunctionalJavascriptTests\DrupalSelenium2Driver' -->
<env name="MINK_DRIVER_CLASS" value=''/>
<!-- Example for changing the driver args to mink tests MINK_DRIVER_ARGS value: '["http://127.0.0.1:8510"]' -->
<env name="MINK_DRIVER_ARGS" value=''/>
<!-- Example for changing the driver args to phantomjs tests MINK_DRIVER_ARGS_PHANTOMJS value: '["http://127.0.0.1:8510"]' -->
<env name="MINK_DRIVER_ARGS_PHANTOMJS" value=''/>
<!-- Example for changing the driver args to webdriver tests MINK_DRIVER_ARGS_WEBDRIVER value: '["chrome", { "chromeOptions": { "w3c": false } }, "http://localhost:4444/wd/hub"]' For using the Firefox browser, replace "chrome" with "firefox" -->
<env name="MINK_DRIVER_ARGS_WEBDRIVER" value=''/>
<!-- Ignore deprecations right now -->
<env name="SYMFONY_DEPRECATIONS_HELPER" value="disabled" />
</php>
<testsuites>
<testsuite name="unit">
</testsuite>
<testsuite name="kernel">
<directory>../modules/contrib/islandora/tests/src/Kernel</directory>
<directory>../modules/contrib/islandora/modules/*/tests/src/Kernel</directory>
</testsuite>
<testsuite name="functional">
<directory>../modules/contrib/islandora/tests/src/Functional</directory>
<directory>../modules/contrib/isladnora/modules/*/tests/src/Functional</directory>
</testsuite>
<testsuite name="functional-javascript">
<directory>../modules/contrib/islandora/tests/src/FunctionalJavascript</directory>
<directory>../modules/contrib/islandora/modules/*/tests/src/FunctionalJavascript</directory>
</testsuite>
<testsuite name="build">
</testsuite>
</testsuites>
<listeners>
<listener class="\Drupal\Tests\Listeners\DrupalListener">
</listener>
<!-- The Symfony deprecation listener has to come after the Drupal listener -->
<listener class="Symfony\Bridge\PhpUnit\SymfonyTestsListener">
</listener>
</listeners>
<!-- Filter for coverage reports. -->
<filter>
<whitelist>
<directory>./includes</directory>
<directory>./lib</directory>
<!-- Extensions can have their own test directories, so exclude those. -->
<directory>./modules</directory>
<exclude>
<directory>./modules/*/src/Tests</directory>
<directory>./modules/*/tests</directory>
</exclude>
<directory>../modules</directory>
<exclude>
<directory>../modules/*/src/Tests</directory>
<directory>../modules/*/tests</directory>
<directory>../modules/*/*/src/Tests</directory>
<directory>../modules/*/*/tests</directory>
</exclude>
<directory>../sites</directory>
</whitelist>
</filter>
</phpunit>
Loading…
Cancel
Save