gpt4 book ai didi

php - Composer 包测试 Bootstrap

转载 作者:可可西里 更新时间:2023-11-01 13:23:02 27 4
gpt4 key购买 nike

我已经编写了一个包,作为开发过程的一部分,我想对其运行单元测试。这基本上意味着我需要一个 Bootstrap 文件来为我的包注册自动加载器。

我看到的任何包都没有特定的引导文件,因此我不太了解开发人员如何测试他们自己的包。

这是我的目录结构

src
.CompanyName
..PackageName
...Class 1
...Class 2

tests
.Class1Test
.Class2Test

composer.json
phpunit.xml.dist

现在,如果我在根目录中运行 phpunit,我的所有测试都会显示 \\CompanyName\\PackageName\\Class1 未找到。这是合法的,因为没有人将它们包括在内。所以问题是 - 如何以及何时包含我的类(class)


查看 random packages我可以看到他们依赖于 vendor/autoload.php,但我没有这个 vendor 目录。我应该运行 composer install 来创建它吗?

最佳答案

嗯,我已经找到答案了。
Composer 提供了我可以使用的自动加载器。

  1. 在项目根目录中运行composer installcomposer update。这将使用 composers autoload.php 文件创建 vendor 目录。
  2. vendor 目录与 composer.lock 一起添加到 .gitignore
  3. phpunit.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>

注意那里的 Bootstrap 条目。

关于php - Composer 包测试 Bootstrap ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13951804/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com