團隊管理

使用 Pest,您可以直接從主控台管理您的團隊任務及待辦事項。您可以建立、指派及追蹤任務,以及查看每個任務的狀態。

設定專案

若要開始在 Pest 中進行團隊管理,您需要在 `Pest.php` 設定檔中指定專案的 URL。此 URL 將用於將待辦事項連結至對應的專案管理系統。

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

如果您使用的是不同的版本控制系統,您可以使用 `gitlab`、`bitbucket`、`jira` 或 `custom` 方法。

建立待辦事項

通常,待辦事項會連結至一個或多個需要通過的測試。因此,可以用測試來追蹤待辦事項/任務的進度。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

設定對應的問題

有時候,待辦事項會連結至您的專案管理系統中的問題。Pest 讓您可以透過在 `todo()` 方法的 `issue` 引數中提供問題編號,來設定待辦事項的對應問題。

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

就像分配者一樣,你可以透過提供多個問題編號給 issue 的參數來設定多個議題。另外,你在執行 Pest 時,也可以透過將問題編號提供給 --issue 的選項,來透過議題來篩選代辦事項。

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

設定對應的 PR

有時候,代辦事項會連結到你的版本控制系統中的請求。Pest 允許你透過提供請求編號給 todo() 方法的 pr 參數,來設定對應的請求給代辦事項。

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

就像分配者一樣,你可以透過提供多個請求編號給 pr 的參數來設定多個請求。另外,你在執行 Pest 時,也可以透過將請求編號提供給 --pr 的選項,來透過請求來篩選代辦事項。

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() 方法將它標記為正在進行的工作。這個方法會移除測試中的代辦事項狀態,並將它標記為一般測試,同時保留所有內容,如分配者、議題等。

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

將代辦事項標記為已完成

一旦代辦事項被完成了,你可以使用 done() 方法將它標記為已完成。這個方法會移除測試中的代辦事項狀態,並將它標記為一般測試,同時保留所有內容,如分配者、議題等。

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

將代辦事項與分配者、議題和 PR 結合

你可以將代辦事項與分配者、議題和 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');

現在,讓我們深入了解架構測試以及它如何對你的開發流程有幫助。透過執行架構測試,你可以評估應用程式的整體設計,並在它們變成重大的問題之前找出潛在的缺陷:架構測試