edmondscommerce/ module-magento2-test-runner
This package is auto-updated.
Last update: 2024-09-21 16:20:36 UTC
README
安装
首先确保容器可以访问 BitBucket 仓库。如果不行,请将公钥添加到账户中,详细信息请参阅此处
然后切换到项目目录并运行以下命令
composer config repositories.edmondscommerce-test-runner vcs git@github.com:edmondscommerce/edmondscommerce-magento2-testing.git composer require edmondscommerce/module-magento2-test-runner --dev
同时确保您已安装 Magento 2 编码规范
composer require --dev magento/magento-coding-standard
运行质量保证(QA)
现在将在 vendor/bin
文件夹中有一个 qa.m2.bash
文件。默认情况下,它将扫描整个 app/code
目录。如果那里已经有几个失败的模块,则可以通过传递相对路径来扫描特定的目录。
# Scan the entire directory bash vendor/bin/qa.m2.bash # Just scan the EdmondsCommerce directory bash vendor/bin/qa.m2.bash app/code/EdmondsCommerce
该工具应定期运行,并且必须通过才能请求合并更改。
运行集成测试
MySql 配置
在 dev/tests/integration/etc
中,将 install-config-mysql.php.dist
的副本命名为 install-config-mysql.php
更改内容以具有正确的配置,您必须使用完全独立的数据库。
如果您不使用 rabbit 队列,可以删除 amqp-
文件。
有关更多信息,请参阅此处
设置 php 单元配置
默认情况下,工具将复制一个标准的 phpunit.xml 文件到测试文件夹。可以通过将 false 传递给脚本来绕过这一点,但是您需要在测试运行之前创建一个 dev/tests/integration/phpunit.edmondscommerce.xml
文件。
运行测试
在 vendor/bin
目录中有一个新的工具称为 runIntegrationTests.bash
。可以按以下方式运行
# Copy the default config and run the tests bash vendor/bin/runIntegrationTests.bash # Don't copy the config and use the file that is already there bash vendor/bin/runIntegrationTests.bash false
运行验收测试
有一个辅助脚本将尝试设置 Magento 2 验收测试套件,这将尽可能地验证,并允许使用集中式环境配置文件。
项目要求
- 您必须将适当的 MFTF 版本作为 dev 依赖项安装
- Magerun2 必须安装并且可以在系统路径上作为
magerun
使用 - 系统级 bash 支持,这已在 Centos 7 上进行过测试
设置
脚本以尽可能多的反馈方式编写,以提供有关配置错误的反馈。
在特定位置,它将使用主环境文件中的数据自动修复问题,并试图保护您。
环境文件
在此存储库中有一个 test.bash.dist 文件,需要将其复制到 Magento 2 项目的根目录,并重命名为 test.bash
- 该文件将用于稍后加载项目/环境特定的变量。
此文件还应被 git 忽略,设置脚本将检查此文件,这也充当环境检查,因为此文件不应存在于生产环境中,同样,此模块也不应在生产环境中安装。
文件复制后,填写所需的各个变量值。
运行设置脚本
从项目根目录运行 bash vendor/bin/setupAcceptanceTests.bash
,前提是 bin 文件仍然设置为通过 composer 链接。
如果需要,可以使用完整路径 vendor/edmondscommerce/module-magento2-test-runner/bin/setupAcceptanceTests.bash
,工具将能识别此路径。
在运行脚本期间,配置的 Magento 店铺将使用环境文件中设置的新测试数据库,此测试数据库必须存在,并且可以通过配置的 Mysql 用户在数据库文件中进行访问。
脚本将在环境中验证不同的事项,并在发现问题时通知您应该做什么。
运行测试
设置脚本将生成您配置的测试套件,但不会运行它们。
为了运行验收测试,您必须在测试运行正确之前配置并确保 Selenium 或 Zalenium 正在运行。