mercredi 11 octobre 2017

Laravel Tests DatabaseMigrations not running all migrations

I am using Laravel and PHPUnit for my Unit Tests and I have a test class like so:

class ImportServiceTest extends BaseTestCase
{
   use DatabaseMigrations;

   public function setUp()
   {
      // Parent Setup
      parent::setUp();
   }

   public function tearDown()
   {
      parent::tearDown();
   }
}

However when I run PHPUnit, my test database is only migrating 70 of the tables as opposed to the normal 160. It is also not migrating any migrations prefixed with 2017. Only those prefixed with 2016.

I am wondering if anyone has run into this?

Here is my phpunit.xml:

<?xml version="1.0" encoding="UTF-8"?>

<phpunit backupGlobals="false"
         backupStaticAttributes="false"
         colors="true"
         convertErrorsToExceptions="true"
         convertNoticesToExceptions="true"
         convertWarningsToExceptions="true"
         processIsolation="false"
         stopOnFailure="true"
         stopOnError="true"
         stopOnIncomplete="true"
         stopOnSkipped="false"
         stopOnRisky="false"
         syntaxCheck="true"
         timeoutForSmallTests="1"
         timeoutForMediumTests="10"
         timeoutForLargeTests="60"
         verbose="true"
         bootstrap="bootstrap/autoload.php">
    <testsuites>
        <testsuite name="Application Test Suite">
            <testsuite name="Modules Test Suite">
                <directory suffix="Test.php">./Modules/*/Tests</directory>
            </testsuite>
            <!--<directory suffix="Test.php">./tests</directory>-->
        </testsuite>
    </testsuites>
    <php>
        <env name="APP_ENV" value="testing"/>
        <env name="APP_DEBUG" value="true"/>
        <env name="APP_LOG_LEVEL" value="debug"/>
        <env name="DB_CONNECTION" value="testing"/>
        <env name="APP_NAME" value="Central"/>
        <env name="CACHE_DRIVER" value="array"/>
        <env name="SESSION_DRIVER" value="array"/>
        <env name="QUEUE_DRIVER" value="redis"/>
        <env name="BROADCAST_DRIVER" value="redis"/>
        <env name="REDIS_HOST" value="127.0.0.1"/>
        <env name="REDIS_PORT" value="6379"/>
    </php>
    <filter>
        <whitelist processUncoveredFilesFromWhitelist="false">
            <directory suffix=".php">./tests</directory>
            <directory suffix=".php">./tests/coverage</directory>
            <directory suffix=".php">./database/migrations</directory>
            <directory suffix=".php">./src</directory>
            <directory>./vendor</directory>
            <exclude>
                <directory suffix=".php">./tests</directory>
                <directory suffix=".php">./tests/coverage</directory>
                <directory suffix=".php">./src/resources</directory>
                <directory>./vendor</directory>
            </exclude>
        </whitelist>
    </filter>
    <!--<logging>-->
    <!--<log type="coverage-html"-->
    <!--target="./tests/coverage/"-->
    <!--lowUpperBound="35"-->
    <!--highLowerBound="70"/>-->
    <!--</logging>-->
    <groups>
        <exclude>
            <group>performance</group>
        </exclude>
    </groups>
</phpunit>

I am quite stumped as I have used PHPUnit before and never seen this behavior.

Thanks!



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire