solutiondrive/sd-test-environment-shopware

Shopware项目的基础测试环境,基于Docker。

v0.4.0 2021-11-22 08:43 UTC

README

为了方便使用不同版本的Shopware和/或PHP进行测试,我们使用了基于Docker的环境。这里有一些提供MySQL、PHP等的Docker容器。本地文件系统被映射到需要它们的容器中。

关于此README的注意事项 此文件假定bin脚本是安装到vendor/bin中(如composer默认所做)。如果您在composer.json中更改了此行为,您必须相应地调整此文件中编写的命令。

安装

要将测试环境用于项目,请将以下依赖项添加到您的项目composer.json的require-dev部分

"require-dev": {
    "solutiondrive/sd-test-environment-shopware": "*"
}

然后执行composer update或使用composer require --dev代替。

要初始化测试环境,例如,对于Shopware 5.7.x,只需运行以下命令

vendor/bin/sdTest.sh init 57

这将创建一些文件

/README.TESTING.md              # This README.md in your project for other developers
/etc/test/docker-compose.yml    # A docker-compose file which can be modified for special needs

使用/第一步

首先,您应该启动测试Docker容器(也请参阅此README的下一段内容)

vendor/bin/sdTest.sh start SHOPWARE_VERSION

处理插件

对于以下所有命令,您必须传递一个PHP和Shopware版本,例如,74表示PHP 7.4容器,57表示Shopware 5.7。

要添加插件,请运行

vendor/bin/sdPlugin.sh 74 57 add

要删除插件,请运行

vendor/bin/sdPlugin.sh 74 57 remove

要激活插件,请运行

vendor/bin/sdPlugin.sh 74 57 activate    

要停用插件,请运行

vendor/bin/sdPlugin.sh 74 57 deactivate

控制测试环境

SHOPWARE_VERSION列表

  • 52 -> v5.2.x
  • 53 -> v5.3.x
  • 54 -> v5.4.x
  • 55 -> v5.5.x
  • 56 -> v5.6.x
  • 57 -> v5.7.x

例如,要使用Shopware 5.7启动容器并返回本地shell,只需运行

vendor/bin/sdTest.sh start 57

要停止容器,请运行

vendor/bin/sdTest.sh stop SHOPWARE_VERSION

在停止状态下,容器数据被保存。

要销毁您的容器,您可以运行

vendor/bin/sdTest.sh remove SHOPWARE_VERSION

要重新启动容器而不丢失数据,您可以运行

vendor/bin/sdTest.sh restart SHOPWARE_VERSION

您还可以在前景运行容器以监视容器的日志输出

vendor/bin/sdTest.sh run SHOPWARE_VERSION

然后,您可以通过按CTRL+C停止执行。容器将干净地退出。

如果您使用start在后台启动了容器,您可以通过运行来查看日志

vendor/bin/sdTest.sh logs SHOPWARE_VERSION

您可以跟踪日志(如tail -ftailf所知)

vendor/bin/sdTest.sh logs SHOPWARE_VERSION -f

要连接到MySQL服务器,请使用127.0.0.1作为主机,端口号为(默认:10331),配置在etc/test/docker-compose.yml中。

较少需要的

要强制重建容器,您可以运行

vendor/bin/sdTest.sh build --no-cache

要确保您有最新版本的(基础)容器,您可以强制拉取较新的镜像

vendor/bin/sdTest.sh build --no-cache --pull

要确保使用最新的容器(不仅是基于构建的容器)

vendor/bin/sdTest.sh pull SHOPWARE_VERSION

要一次性销毁并重新启动您的容器而无需重新构建镜像,请运行

vendor/bin/sdTest.sh reset SHOPWARE_VERSION

在测试环境中执行命令

命令(例如清除缓存或运行设置)可以在容器内执行。您必须指定要执行命令的PHP和Shopware版本,例如,74表示PHP 7.4容器,57表示Shopware 5.7.x。

vendor/bin/sdRunInTest.sh 74 57 ./app/install.sh

如果您想,您甚至可以在PHP容器中获取shell。

vendor/bin/sdRunInTest.sh 74 57 /bin/bash