在之前的專案中,我對Localdb有了些比較深入的瞭解,也覺得如果走MS-SQL,不用這套簡直太可惜了,所以這邊簡單的分享一下可能會遇到的問題跟做法。
建立完單元測試專案後在裡面新增了一個「服務架構資料庫」(*.mdf),這個檔案是我們用來做單元測試的資料。
建立完後,很開心的在專案上點擊兩次檔案,希望編輯資料庫內容,可是你會看到像這樣的結果。
WTF~!?跟平時的結果完全不太一下,這邊有兩個做法,其一是開另一類別庫專案,由該類別庫來管理維護DB,這個做法可以讓你完全不用離開VS ( 詳細請參考: mrkt 的程式學習筆記 測試專案使用 LocalDB - 使用 Entity Framework 的情境 )
但是因為我個人不喜歡vs提供的操作方式,我還是比較喜歡SSMS所以,這邊提供ssms的作法。
首先開啟「SQL Server 2014 Management Studio」接著連接到Localdb。最後在「資料庫」上點擊右鍵後選擇「附加」指定你的mdf檔後就可以直接用ssms進行操作!
在你建立好測試資料後,這時候如果你直接執行你的單元測試,那肯定會失敗的,因為這個時候你的mdf正附加在localdb上頭,所以無法搬移檔案,也就在單元測試期間會出錯,解決的辦法非常的簡單,就是…再「缷離」他就可以了
另外可能會覺得「localdb,打開的時候看到一堆db感覺很不好!」,我個人的解決辦法是,每次執行前都跑bat,將測試用的執行個體都刪掉,然後再重新建立一個,語法大概如下:
sqllocaldb p ["instance name"]
sqllocaldb d ["instance name"]
sqllocaldb c ["instance name"]
sqllocaldb s ["instance name"]
以上簡單的分享。
沒有留言:
張貼留言