我剛剛開始使用Golang並編寫我的第一個測試套件。我有一個Rails的背景,它對測試工具(Rspec,Cucumber等)有很好的支持,所以我用類似的思維方式來接近我的golang測試(不知道這是對還是錯的東西做)Golang測試中可重複使用的組件和固件
我有讀取來自一個users
表中的記錄中的Postgres和存儲它們的陣列的User
數據模型(基本上是結構)。 (本質上是ActiveRecord在Rails世界中的一個非常簡單的版本)
我想編寫一個測試,檢查例程是否正確地從數據庫讀取並構建模型。
幾乎在每一個測試套件,我將連接到數據庫,所以我有一個名爲
establish_db_connection
幫手。我可以在哪裏放置它,以便它可以集中在我的所有測試中?大廈關閉#1 - 是否有相當於
before
塊或某種設置/拆卸方法,我可以在每次測試之前建立連接?最後,我該如何處理夾具?在每次測試之前,我會調用一個
clear_db
函數來重置所有表並插入一些靜態數據行。我很想擺脫固定裝置,並使用工廠根據需要構建數據(非常類似於Rails中的FactoryGirl
),但不確定Golang的普遍性。是內置的
go test
框架最好的方法,還是有更好的選擇?
上派的回答跟進,你可以做一個'testfixtures'包,如果你需要使用跨多個軟件包的測試 – Plato