問題描述

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

is_singular()
$_GET
$_POST
$_SESSION

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

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

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

有任何想法嗎?

更新

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

最佳解決方案

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

目前你應該:

  • 研究您選擇的單元測試框架如何建議與全域性變數一起使用,如 PHP 程式碼

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

參考文獻

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