我們有一個工作流引擎,提供可用工作流的列表(我的意思是工作流定義,而不是實例),用戶可以單擊任何工作流旁邊的「Execute」鏈接,好吧,執行該工作流程的一個新實例。我想以BDD的方式執行「執行工作流」故事(功能?)。BDD故事的驗收標準(和其他內容)
Story: execute a workflow
Scenario: execute a workflow by clicking on execute link in workflow list and nothing goes wrong
Given I am a user with sufficient rights
And I have added a workflow called "wf"
When I click on the execute link next to "wf" in the workflows list
When I view the list of workflow executions
Then the output is:
"""
1 | wf1 | not started
"""
(第1列:編號,第二:工作流名,第3:狀態)
我有點兒覺得這更像是一個爛攤子比一個漂亮的切DBB情況下,我特別關心驗收標準。我的思路並不清楚我應該如何處理像「執行工作流程」這樣粗糙和用戶耦合的東西。我的意思是,當你在做API的時候,一切都很清楚,但是如果你描述的是通過(人類)用戶交互發起的一些行爲,並且結果通過啓動另一個具有複雜輸出的用例就很明顯(如列表項目)。知道工作流確實執行的標準是在工作流執行列表中看到一個新項目,這是另一個故事。我有點困惑。
我應該與數據庫層交談並檢查是否存儲新創建的工作流實例的行 - 或者 - 我應該檢查是否存在指向工作流執行列表中的新實例的項目?如果第二,那究竟如何?我應該在一種情況下檢查所有具有正確值的列嗎?還是在它自己的情況下檢查每列?