Senfgurke 是 VBA 的範例驅動測試框架。這意味著什麼?使用 Senfgurke,您可以將以自然語言給出的範例轉換為由 VBA(Visual Basic for Applications)執行的自動化測試。
提防!這項工作正在進行中。未來的版本可能會破壞舊版的測試自動化程式碼!
想像一下,有人要求您為 Excel 編寫一個新的「特殊」求和函數,透過以下範例將結果加 1:
Example: add +1 to sum
Given a is 2
And b is 3
When sum+1 is applied to a and b
Then the result is 6
現在您可以將此範例新增至功能中,並將名為「sum_plus_one.feature」的檔案中的所有內容儲存到名為「features」的目錄中。該目錄應與包含 VBA 程式碼的 Office 檔案位於相同位置。
如果您第一次運行 Senfgurke,它會建議您新增一個函數,如下所示:
Public Sub Given_a_is_INT_C722764574FB(step_parameters As Collection)
'Given a is 2
End Sub
請不要與函數名稱的 C722764574FB 部分混淆。此雜湊值有助於 Senfgurke 將函數與範例中的原始步驟進行匹配。現在您需要用程式碼填充該函數,以便您可以測試新函數以確保 sum+1 傳回正確的結果。
當您對範例的每個步驟重複此操作並執行 Senfgurke 時,您可能會在控制台上收到以下訊息:
Feature: sum plus one
Rule: add one to sum results
Example: add +1 to sum
OK Given a is 2
OK And b is 3
OK When sum+1 is applied to a and b
OK Then the result is 6
這樣 Senfgurke 會告訴您程式碼是否成功或導致任何錯誤。
Senfgurke 作為特定於應用程式的插件提供。這樣您就可以輕鬆地將被測應用程式和 Senfgurke 測試框架分開。要啟動新的 VBA 應用程序,請按照下列步驟操作:
以下事件圖將解釋當您要求 Senfgurke 執行您的功能時會發生什麼。
測試通常從 VBA 控制台視窗啟動。透過這種方式,您可以新增標籤或篩選器(針對檔案名稱),以將測試運行限制為特定標籤或功能檔案。
Senfgurke 要做的第一件事是尋找特徵檔案並將其載入到記憶體中以供後續處理。
將所有功能儲存在記憶體中使 Senfgurke 更容易將 Gherkin 語言翻譯(解析)為詳細的指令以供以後執行。例如,在測試開始時設定的沒有符合標籤的範例可能會在以後執行時被忽略,或者來自某個功能的後台步驟將被添加到該功能中的每個範例(也稱為場景)中。
下一步顯然是執行上一個步驟中的所有詳細執行指令。這也包括返回執行的所有結果。
在執行上述功能的同時,結果將以不同的格式報告。預設為詳細格式,只需將執行結果新增至範例的每個步驟即可將 Gherkin 功能寫入 VBA 控制台視窗。
在每次測試運行結束時,Senfgurke 都會添加一些統計信息,例如持續時間和執行範例步驟的數量。
有關更詳細的文檔,請參閱 Senfgurke 的功能文件,從功能索引器產生的索引開始。
FMC 框圖顯示典型設定由三層組成:
有關一些一般決策,請參閱架構決策日誌。
分層架構應確保 Senfgurke 提供的功能與應用程式邏輯分開。
待定