2
我正在寫一個緩存機制的測試。該機制有兩個緩存層,請求緩存和redis。請求緩存使用Flask.g
,這是一個存儲請求持續時間值的對象。它通過在Flask.g._cache
屬性上創建字典來完成此操作。單元測試應該知道它正在測試的功能多少?
但是,我認爲確切的屬性是我的單元測試不應該關心的實現細節。我想確保它將值存儲在Flask.g上,但我不關心它是如何實現的。什麼是測試這個的好方法?
我正在使用Python模擬模塊,所以我知道我可以模擬出Flask.g,但我不確定是否有辦法測試它是否有任何屬性訪問,而不關心它屬於哪個屬性。
這就是這樣的測試的正確方法嗎?
而不是看你的測試* cache *的具體細節,爲什麼不確保'expensive_op_1'和'expensive_op_2'不會*多次調用?數據緩存在哪裏並不重要(就測試而言) - 它是*數據是否被緩存和重用,而不是重新請求你想測試的數據。 (或者我誤解了你的問題?) – 2015-01-16 02:27:51
好吧,請求緩存比進行redis快很多。 – bigblind 2015-01-16 03:49:08