問題描述

我正在對我創建的 Wordpress 插件進行一些修改,以使其可測試。問題是我不知道我想做哪些方法來編寫測試。我有一些使用這些函數和全局變量的方法:

is_singular()
$_GET
$_POST
$_SESSION

is_singularis_pageis_home 等功能取決於上下文。我不知道如何在測試中假冒這些上下文。

我嘗試將這些作為參數傳遞給方法,但是有一些鈎子不接受其他參數,所以我無法真正地傳遞它們。

只要提供來自測試課的人可以嗎?我真的很難修改插件,這樣我不會使用這些插件。

有任何想法嗎?

更新

我正在使用 wordpress-tests 和 PHP 單元進行單元測試。在開始之前,我已經對單元測試進行了一些研究,並且有一種做法是當單元測試全局變量應該被避免時。

最佳解決方案

WordPress 遠不是單元測試擴展的標準約定。或用於延伸結構。

目前你應該:

  • 研究您選擇的單元測試框架如何建議與全局變量一起使用,如 PHP 代碼

  • 查看開始出現的單元測試的 WordPress-specific 工具,如 WP_Mock

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。