上篇說明了基本使用,這篇就來實際應用在預存程序上,過去都是程式的部分做單元測試,而
資料庫預存程序的建置上,雖然過程中都會一邊實作一邊測試,但同樣都是當下,若需要異動
時,卻無法確保之前的介接是否正常,故預存程序的單元測試同樣重要...
這邊需要借用 EF Core Power Tools 工具,來幫我們快速產生 ER Model
有個資料庫 TestDb 並且有資料表 Persons,還有預存程序 ausp_GetPersonById_S
而 SP 的內容挺單純的
在 feature 檔案,有個 GetPersonById 的測試案例
當你撰寫好測試案例時,記得一定要先「建置」,建置成功後可以滑鼠右鍵,叫出
Define Steps…,快速產生步驟檔
撰寫內容
跑測試通過
其中,撰寫測試案例時,有個最後驗證的 records,這個部分如何快速產生
可以透過 SSMS(SQL Server Management Studio)
工具 → 選向 → 查詢結果 → SQL Server → 以文字顯示結果 → 自訂分隔符號
然後開啟新的查詢,輸入你的條件後並且切換「以文字為輸出結果」項目,
就可以將查詢結果快速貼到測試案例,並且稍微調整即可
另外,若是查詢結果僅需要包含某幾筆資料再其中,而不用全部都符合
如下測試案例
相關驗證如下
將最終結果轉為對應的 Entity,並且使用 SequenceEqual() 方法比對,此時就對比對資料
結果是否有「包含」在集合中,就算符合
以上
參考
沒有留言:
張貼留言