composer package testing bootstrap

后端 未结 2 1786
鱼传尺愫
鱼传尺愫 2021-01-18 08:48

I\'ve written a package and as part of the development proccess I want to run unit tests on it. This basically means I need a bootstrap file to register the autoloader for m

相关标签:
2条回答
  • 2021-01-18 09:31

    Yes you should run composer update. It is not harmful to try since everything is put into /vendor/ which you can later delete.

    0 讨论(0)
  • 2021-01-18 09:43

    Well, I've figured the answer.
    Composer provides it's own autoloader I could use.

    1. Run composer install or composer update in the project root. This will create the vendor dir with composers autoload.php file.
    2. Add vendor dir to .gitignore along with composer.lock
    3. In phpunit.xml.dist specify composer's autoloader as the bootstrap file

    Example phpunit.xml.dist file

    <?xml version="1.0" encoding="UTF-8"?>
    
    <phpunit backupGlobals="false"
             backupStaticAttributes="false"
             bootstrap="vendor/autoload.php"
             colors="true"
             convertErrorsToExceptions="true"
             convertNoticesToExceptions="true"
             convertWarningsToExceptions="true"
             processIsolation="false"
             stopOnFailure="false"
             syntaxCheck="false"
            >
    
        <testsuites>
            <testsuite name="Your package's test suit">
                <directory>./tests/</directory>
            </testsuite>
        </testsuites>
    
    </phpunit>
    

    Notice the bootstrap entry there.

    0 讨论(0)
提交回复
热议问题