webbuilders-group / silverstripe-recipe-github-ci
使用GitHub Actions作为持续集成(CI)来启动项目的Silverstripe食谱
Requires
- phpunit/phpunit: ^5.7
- silverleague/ideannotator: ~3.0
- silverstripe/behat-extension: ~4.1
- silverstripe/recipe-cms: ~4.4
- silverstripe/recipe-plugin: ^1.0
- silverstripe/serve: ~2.1
- squizlabs/php_codesniffer: ~3.4
This package is auto-updated.
Last update: 2024-08-25 21:49:10 UTC
README
使用GitHub Actions作为持续集成(CI)来启动项目的Silverstripe食谱,有关包含/扩展功能的详细信息,请参阅文档。
维护者联系方式
- Ed Chipman (UndefinedOffset)
需求
- SilverStripe框架4.4+
安装
Composer(推荐)
composer require webbuilders-group/silverstripe-recipe-github-ci --dev
入门
此食谱包含对运行PHPUnit和Behat的测试的支持,以及使用PHP_CodeSniffer(使用PSR-2标准)进行代码风格验证。默认情况下,此CI期望所有站点代码都在app
文件夹中。它还期望所有PHPUnit测试都在app/tests/PHPUnit
中,所有Behat测试都在app/tests/behat/features
中。
如果你不需要Behat测试,你需要从.github/workflows/ci.yml
中删除behat
作业。如果你想禁用PHP_CodeSniffer,你需要从同一文件中删除“验证代码风格”步骤。
失败的测试工件
例如,来自Silverstripe的错误日志或Behat测试的截图等工件将被添加到GitHub上操作运行的工件部分的工件部分。对于PHPUnit测试,它将命名为CI-<run number>-phpunit
,对于Behat测试,它将命名为CI-<run number>-behat
,除非你更改它们。
本地测试
尽管如此,仍然可以在本地进行测试,但当然与GitHub Actions运行器的工作方式不同。
对于PHPUnit
要本地运行PHPUnit,你可以使用以下命令运行app/tests/PHPUnit
文件夹中的所有测试。如果你想运行该文件夹中的特定测试,只需包含完整路径,例如app/tests/PHPUnit
可能成为app/tests/PHPUnit/SomeFolder/SomeTest.php
。
vendor/bin/PHPUnit app/tests/PHPUnit
对于Behat
对于Behat,你需要在Web服务器上安装Silverstripe或使用(包含)silverstripe/serve。此外,你还需要安装并运行与你的本地Chrome版本相匹配的ChromeDriver。
完成所有这些后,你应该能够运行以下命令来运行app/tests/behat/features
文件夹中的所有Behat测试。如果你想运行该文件夹中的特定测试,只需包含完整路径,例如app/tests/behat/features
成为app/tests/behat/features/some-folder/some-scenario.feature
。
vendor/bin/behat @app ./app/tests/behat/features/ --rerun