edmondscommerce/module-magento2-test-runner

v0.2.0 2021-03-03 11:12 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 正在运行。