Mongo2Go 介紹


mongo2go_200_200

Mongo2Go(https://github.com/Mongo2Go/Mongo2Go )是最新的MongoDB二進制文件的托管包裝, 它針對.NET Standard 1.6(對於.NET 4.6),並且可與Windows,Linux和macOS一起使用。此Nuget軟件包包含適用於Windows,Linux和macOSmongodmongoimportmongoexport 的可執行文件,並且應該也可以在更高版本中使用。

Mongo2Go有兩個用例:

  1. 提供多個,臨時的和隔離的MongoDB數據庫用於單元測試(或者確切地說是集成測試)
  2. 為本地開發人員環境提供快速設置的MongoDB數據庫

單元測試/集成測試

集成測試是企業發展中經常被忽視的領域。 這主要是由於為集成測試設置必要的基礎架構的相關復雜性。 對於由數據庫支持的應用程序,為集成測試設置數據庫,並且一旦測試完成(例如,數據文件,模式等),就需要相當復雜和耗時,以確保測試的可重復性。 我們可以輕松地設置嵌入式MongoDB實例進行測試,一旦測試完成,內置的清理支持。 ABP VNext 的數據庫如果是MongoDB,它使用Mongo2Go作為集成測試時的數據庫。

每次調用靜態方法  MongoDbRunner.Start()  都會建立一個新的MongoDB實例。將使用一個空閑端口(從端口27018開始),並創建一個相應的數據目錄。該方法返回MongoDbRunner的實例,該實例實現IDisposable。一旦釋放MongoDbRunner(或者如果GC調用了終結器),包裝的MongoDB進程將被殺死,並且數據目錄中的所有數據都將被刪除。

本地調試

在這種模式下,將在默認端口(27017)上啟動一個MongoDB實例。沒有數據將被刪除,並且MongoDB實例不會被自動殺死。多次調用  MongoDbRunner.StartForDebugging()  將返回狀態為“ AlreadyRunning”的實例。您可以忽略IDisposable接口,因為它沒有任何作用。 我強烈建議不要在生產機器上使用此模式! 在這里,您應該按照手冊中的描述設置一個MongoDB。為了您的方便,MongoDbRunner還公開了  mongoexport  和  mongoimport  ,使您可以快速設置工作環境。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM