团队管理

使用 Pest,您可以直接从控制台与团队管理任务和待办事项。您可以创建、分配和跟踪任务,以及查看每个任务的状态。

设置项目

要开始在 Pest 中使用团队管理,您需要在 Pest.php 配置文件中指定项目的 URL。此 URL 将用于将待办事项链接到相应的项目管理系统。

1pest()->project()->github('my-organization/my-repository');

如果您使用的是不同的版本控制系统,则可以使用 gitlabbitbucketjiracustom 方法。

创建待办事项

通常,待办事项会链接到一个或多个需要通过的测试。因此,测试可以用于跟踪待办事项/任务的进度。Pest 提供了一种简单的方法来使用 todo() 方法创建待办事项。

1it('has a contact page', function () {
2 //
3})->todo();

运行测试时,Pest 会通知您哪些测试是待办事项,以便您不会忘记并在测试结果中看到它们。

如果您有一个或多个待办事项,您可能希望将它们与测试套件的其余部分分开查看。您可以在运行 Pest 时包含 --todos 选项来实现此目的。

1./vendor/bin/pest --todos

分配待办事项

在某些情况下,您可能希望将待办事项分配给特定的团队成员。Pest 允许您通过向 todo() 方法的 assignee 参数提供其姓名来将待办事项分配给特定的团队成员。

1it('has a contact page', function () {
2 //
3})->todo(assignee: 'nunomaduro');

您可以通过向 assignee 参数提供一个名称数组来分配多个分配者。此外,您可以在运行 Pest 时通过向 --assignee 选项提供其姓名来按分配者过滤待办事项。

1./vendor/bin/pest --todos --assignee=nunomaduro

设置对应的 Issue

有时,待办事项会链接到项目管理系统中的 Issue。Pest 允许您通过向 todo() 方法的 issue 参数提供 Issue 编号来设置待办事项对应的 Issue。

1it('has a contact page', function () {
2 //
3})->todo(issue: 123);

就像分配者一样,您可以通过向 issue 参数提供一个 Issue 编号数组来设置多个 Issue。此外,您可以在运行 Pest 时通过向 --issue 选项提供 Issue 编号来按 Issue 过滤待办事项。

1./vendor/bin/pest --todos --issue=123

设置对应的 PR

有时,待办事项会链接到版本控制系统中的 Pull Request。Pest 允许您通过向 todo() 方法的 pr 参数提供 Pull Request 编号来设置待办事项对应的 Pull Request。

1it('has a contact page', function () {
2 //
3})->todo(pr: 123);

就像分配者一样,您可以通过向 pr 参数提供一个 Pull Request 编号数组来设置多个 Pull Request。此外,您可以在运行 Pest 时通过向 --pr 选项提供 Pull Request 编号来按 Pull Request 过滤待办事项。

1./vendor/bin/pest --todos --pr=123

为待办事项编写笔记

提供待办事项的其他上下文通常很有帮助。Pest 允许您通过向 todo() 方法的 note 参数提供字符串来为待办事项编写笔记。

1it('has a contact page', function () {
2 //
3})->todo(note: <<<NOTE
4 Given I am a user
5 When I visit the contact page
6 Then I should see a contact form
7NOTE);

这些笔记将在测试结果中显示在待办事项下方。

将待办事项标记为进行中

完成待办事项后,您可以使用 wip() 方法将其标记为进行中。此方法将从测试中删除待办事项状态并将其标记为常规测试,同时保留所有上下文(如分配者、Issue 等)。

1it('has a contact page', function () {
2 //
3})->wip(assignee: 'nunomaduro', issue: 123);

将待办事项标记为已完成

完成待办事项后,您可以使用 done() 方法将其标记为已完成。此方法将从测试中删除待办事项状态并将其标记为常规测试,同时保留所有上下文(如分配者、Issue 等)。

1it('has a contact page', function () {
2 //
3})->done(assignee: 'nunomaduro', issue: 123);

将待办事项与分配者、Issue 和 PR 结合使用

您可以将待办事项与分配者、Issue 和 PR 结合使用以提供其他上下文并跟踪待办事项的进度。这可以通过使用 describe 组以及 todoassigneeissuepr 方法来完成。

1describe('contacts', function () {
2 it('has a contact page', function () {
3 //
4 }))->issue(123); // or ->pr(123) etc
5 
6 it('has a contact form', function () {
7 //
8 })->done(pr: 567);
9})->wip(assignee: 'nunomaduro');

现在,让我们深入了解架构测试以及它如何使您的开发流程受益。通过执行架构测试,您可以在重大问题出现之前评估应用程序的整体设计并识别潜在的缺陷:架构测试