Ale*_*lex 6 php bootstrapping autoload composer-php
我写了一个包,作为开发过程的一部分,我想对它进行单元测试.这基本上意味着我需要一个bootstrap文件来为我的包注册自动加载器.
我看到的任何包都没有特定的bootstrap文件,因此我不太了解开发人员如何测试自己的包.
这是我的目录结构
src
.CompanyName
..PackageName
...Class 1
...Class 2
tests
.Class1Test
.Class2Test
composer.json
phpunit.xml.dist
Run Code Online (Sandbox Code Playgroud)
现在,如果我phpunit在根目录中运行,我的所有测试\\CompanyName\\PackageName\\Class1都没有找到.哪个是精英,因为没有人包括它们.所以问题是 - 我如何以及何时包括我的课程.
看一下随机包我可以看到他们依赖vendor/autoload.php,但我没有这个供应商的目录.我应该跑去composer install创造吗?
好吧,我已经找到了答案.
Composer提供了我自己可以使用的自动加载器.
composer install或composer update在项目根目录中.这将创建vendor带有composers autoload.php文件的目录.vendordir .gitignore以及composer.lockphpunit.xml.dist指定composer的自动加载器作为引导程序文件示例phpunit.xml.dist文件
<?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>
Run Code Online (Sandbox Code Playgroud)
注意那里的bootstrap条目.
| 归档时间: |
|
| 查看次数: |
2412 次 |
| 最近记录: |