3
我已閱讀this Q & A,並且已經試圖抓住我的代碼異常引發IntegrityError例外,這樣說:什麼是測試拋出IntegrityError的SQLAlchemy代碼的正確方法?
self.assertRaises(IntegrityError, db.session.commit())
但不知何故,我的單元測試仍然未能與IntegrityError異常停止。我希望它能說好,因爲我已經期望在我的單元測試中有例外。 這是由試圖插入具有相同唯一字段值的行的代碼引起的。
有什麼想法?
Phew ..這解決了,照亮我的一天!謝謝! :)對,我早些時候認爲參數接受函數名稱,而不是函數的調用。但是,不知何故,當我執行實際的代碼時,我錯過了這一點。但是,爲什麼你更喜歡使用上下文管理器?是不是與這一行結果將是相同的? – swdev
新增了評論,我只是使用上下文管理器,正如你所指出的那樣,我認爲另一個好處是我們可以在該縮進塊中擴展/精煉我們的代碼。我仍然是新的Python,所以這就是我越來越:) – swdev
我同意。我認爲使用assertRaises作爲上下文管理器使測試代碼更清晰。 – codeape