我試着寫我的OpenID的燒瓶應用單元測試,但在調用時瓶OpenID的單元測試
oid.try_login(<oid provider>, <params>)
我得到一個錯誤:
RuntimeError:
<class 'flask.testing.FlaskClient'>
does not support redirect to external targets
因此,像每一個好SO用戶,我四處尋找一些解決方案:
- 使用NoExtRef燒瓶擴展名僞裝oid提供程序。我不確定這是否可以在應用程序級別進行,因爲我認爲圍繞oid url(並且在我嘗試它時將它重定向到了原始頁面)。但是,由於我正在爲單元測試嚴格執行代碼,所以這看起來很難看。
- 創建我自己的oid服務器,但是這可能仍然是外部重定向(稍後我會盡快嘗試此操作)。
我想另一種選擇是忽略編寫登錄單元測試,並使用真棒Flask測試框架將用戶設置在Flask.g中。但我寧願保持登錄單元測試。
有點晚迴應,但這種方法工作得很好。感謝您向我介紹猴子補丁! – rith87