1 回答

TA貢獻(xiàn)1834條經(jīng)驗 獲得超8個贊
這在文檔中有描述:
如果只給出了 expected_exception 和 expected_message 參數(shù),則返回一個上下文管理器,以便被測試的代碼可以內(nèi)聯(lián)而不是作為函數(shù)編寫:
with self.assertRaisesMessage(ValueError, 'invalid literal for int()'):
int('a')
但這是針對模型級別的測試。
如果您使用 DRF 的測試客戶端,您應(yīng)該檢查 200 以外的響應(yīng)狀態(tài)并覆蓋handle_exceptionApiView 中的異常處理程序或相關(guān)方法,以便您可以確定原因并在響應(yīng)中提供使其可測試的數(shù)據(jù)。然后,您可以像使用Django 的 Test Client一樣檢查客戶端的響應(yīng)。
例如,您可以像這樣返回一個 json 響應(yīng):
{
success: false,
code: INTEGRITY_UNIQUE_ERROR,
message: this could contain details you could test for, like field names
}
添加回答
舉報