如何在測試期間禁用特定的中間件(我寫的自定義中間件)?在測試期間禁用特定的Django中間件
4
A
回答
2
有幾種選擇:
通過創建用於測試單獨
test_settings
設置文件,然後運行測試:python manage.py test --settings=test_settings
在飛行修改
settings.py
如果test
是sys.argv
if 'test' in sys.argv: # modify MIDDLEWARE_CLASSES MIDDLEWARE_CLASSES = list(MIDDLEWARE_CLASSES) MIDDLEWARE_CLASSES.remove(<middleware_to_disable>)
希望有所幫助。
4
https://docs.djangoproject.com/en/dev/topics/testing/tools/#django.test.override_settings
from django.test import TestCase, override_settings
from django.conf import settings
class MyTestCase(TestCase):
@override_settings(
MIDDLEWARE_CLASSES=[mc for mc in settings.MIDDLEWARE_CLASSES
if mc != 'myapp.middleware.MyMiddleware']
)
def test_my_function(self):
pass
2
而且相關的(因爲這個網頁在搜索引擎中排名相當高的涉及查詢):
如果您只想禁用中間件單一的情況下,你可以也用@modify_settings
:
@modify_settings(MIDDLEWARE={
'remove': 'django.middleware.cache.FetchFromCacheMiddleware',
})
def test_my_function(self):
pass
相關問題
- 1. 如何在django的單元測試期間禁用翻譯?
- 2. 不使用Django的測試自定義Django的中間件
- 3. Django:在測試期間從STATIC_ROOT讀取
- 4. 的Django - 應用特定的中間件
- 5. Laravel 5.2.x禁用特定中間件
- 6. 如何在測試期間在Spring中禁用@PostConstruct
- 7. 測試在特定的命名空間
- 8. 在Django管理命令期間顯示單行進度並在測試期間禁用它
- 9. 在UIAutomation測試期間禁用iPad上的網絡
- 10. 如何測試特定期間是否有重疊期?
- 11. 在manage.py測試期間禁用日誌記錄?
- 12. 無法在測試期間禁用WTF CSRF保護
- 13. 如何在測試期間禁用try/except塊?
- 14. 在單元測試期間禁用python日誌記錄
- 15. 如何在Web測試硒期間禁用互聯網? WebDriver,Java
- 16. 在單元測試運行期間禁用某些方面
- 17. 如何在Trace32中調試期間禁用組件?
- 18. 運行特定測試用例在Django
- 19. 在Django中測試特定模型
- 20. django 1.8 - DateTimeField在測試期間接收本地日期時間RuntimeWarning
- 21. 在單元測試期間無法更改用戶權限django
- 22. 單元測試期間是否可以禁用Spring的@Async?
- 23. 如何在特定時區的Django中顯示日期時間?
- 24. 針對會話特定中間件的Node.js單元測試
- 25. 在Capybara測試期間調用Coffeescript
- 26. FullCalendar - 在特定日期禁用/阻止時間
- 27. django自定義時區中間件導致django.contrib.humanize測試失敗
- 28. 在特定路由上禁用特定謂詞的身份驗證中間件
- 29. 忽略使用Django的特定測試
- 30. 如何測試在特定時間間隔發生的軟件行爲?
是的!!!我隨時修改配置,因爲指定一個新的設置文件是我想避免的!非常感謝 ;) – daveoncode