为示例项目编写测试和解决方案代码

回到 第 2 章,了解和组织项目的业务需求,我们使用 Jira 作为工具来组织我们需要为项目构建的内容列表。除了使用 Jira 之外,还有其他项目跟踪软件,或者我们可以简单地使用记事本或一张纸,写下我们想要编写程序的任务。但我们只是希望更有组织性,如果您正在与软件开发人员团队以及公司的其他团队合作,那么如果您使用问题跟踪软件而不是一张纸质文件,协作会更容易。

我们将 Jira 用户故事分为两组:库存员解决方案组访客页面组。这些组被称为 史诗。我们将首先开始研究 库存员解决方案史诗。这是为了允许汽车博物馆库存员将有价值的数据输入系统以供参观者查看。

到目前为止,当我们学习 BDDTDD 时,我们正在以我们的开发环境设置为例。现在,我们也可以使用它来构建我们的示例项目。从 https://github.com/PacktPublishing/Test-Driven-Developmentwith-PHP-8/tree/main/Chapter%207/base/phptdd 下载基本代码。您可以使用基本代码并将其推送到链接到 Jira 项目的主分支中。然后,我们将继续处理的所有后续工单都将分支并从该主分支合并到该主分支。

让我们从第一个 issue 开始,TOYC-2。返回 Jira Roadmap 并单击 TOYC-2 故事,然后单击弹出窗口中的 Create branch 链接:

image 2023 10 23 22 07 29 233
Figure 1. Figure 7.4 – TOYC-2 story: Create branch link

我们需要为此功能创建一个新的 Bitbucket 分支。我们将在此提交为这个特定 ticket 构建的所有附加代码。理想情况下,您需要开发一个从主分支出来的分支。然后,我们将从开发分支中分离出来,完成一项功能后,再将其合并回开发分支。

从开发分支创建一个新的功能分支。我们将其称为 TOYC-1 分支,它代表我们的库存文员解决方案史诗。然后,从 TOYC-1 分支中分离出来,创建一个新的功能分支—​我们称之为 TOYC-2。在本地开发环境中签出 TOYC-2 分支,在此阶段,你应该已经将所有基础文件克隆到本地机器中。

我们需要确保容器正在运行。运行以下命令来构建和运行容器。

使用终端在 docker 目录中运行以下命令:

$ docker-compose build && docker-compose up -d

成功运行容器后,执行以下命令,并确保您可以进入 Web 容器:

$ docker exec -it docker_server-web_1 /bin/bash

此时,您现在应该看到我们的主要 behatsymfony 目录:

image 2023 10 23 22 12 53 292
Figure 2. Figure 7.5 – behat and symfony root directories

至此,我们的开发环境又恢复正常运行了。接下来,我们将创建一个 Behat 功能,该功能将帮助我们开始开发 TOYC-2 票证的软件解决方案。