我一直在开发自己的Symfony捆绑包,我想与您分享如何驾驶Continuos集成以执行我的单元测试。
为了测试目的
这篇文章涉及一种简单的驾驶测试和连续集成方式,但我认为它可以作为更高级配置的基础。
添加测试
从您的项目root中,使用作曲家安装phpunit,如下所示:
composer require --dev symfony/test-pack
安装Phpunit后,您已经可以在 tests/目录下编写测试,该目录将在Phpunit安装后自动创建。
编写测试后,我们准备使用GitHub操作,以便每次推动都执行测试。
1.-创建连续集成文件
首先,您必须在根目录下创建目录 .github/workflows 。然后,创建一个带有您选择的名称的YAML文件,我们将在其中设置持续的集成配置。
2.-将内容添加到Continuos集成文件
让我向您展示我的CI文件的样子:
name: CI
on: [push]
jobs:
build-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: echo "The ${{ github.repository }} repository has been cloned to the runner."
- uses: php-actions/composer@v6
- run: echo "Composer dependencies have been installed"
- run: vendor/bin/phpunit
让我们按行描述IT:
-
名称:标识管道名称(作为管道,我们了解我们要执行的所有工作)
-
on :将触发管道的事件(在我的情况下,在每次推动下)
-
作业:作业我们将执行。每个作业都包含一个或多个步骤。如我们所见,Mi CI文件执行一个名为 build-test
的作业
-
运行:指定工作将运行的操作系统。就我而言,最新的Ubuntu版本
-
步骤:列出以下执行的所有步骤
现在,让我们描述每个步骤:
结帐存储库
此步骤结帐代码来自存储库。为此,它使用预定义的操作“ action/neckout@v3 ”,因此我们尚未运行任何git命令。
结帐后,我们使用 echo linux命令显示一条消息。变量 github.repository 是一个可用的var,可容纳存储库名。要使用它,我们必须像在文件字符串中看到的那样格式化它。
安装作曲家依赖项
现在,我们要在执行测试之前安装作曲家依赖项,否则将不可用。正如我们在第一步中所做的那样,我们使用预定义的动作“ php-actions/composer@v6 ”,为我们完成了工作。
作曲家完成后,我们显示一条消息,该消息告知作曲家依赖项已安装。
运行测试
现在安装了作曲家依赖项,我们准备运行Phpunit测试。为此,我们只需要告诉CI文件即可使用运行:供应商/bin/phpunit 。
可视化管道
推出代码后,我们可以登录到我们的github帐户,转到我们的存储库,然后单击“操作”选项卡。
如果我们单击执行的最后一个管道,我们将看到所有步骤已成功执行。
最后,如果我们单击phpunit步骤,我们将看到步骤日志,并且测试已成功传递。
正如您所能看到的,我们已经构建了一个简单的管道(Github将其称为工作流程),在每次推动下,执行单元测试以确保代码一致性。
您可以在my github上看到整个代码: