私は PHPUnit のテストに非常に慣れていないので、可能であれば助けが必要です。
単体テスト用に、PHPUnit Framework に基づくプラグインを WordPress にインストールしました。現在、WordPress データを操作するために、AJAX 呼び出しを使用する WordPress プラグインを作成しています。
私のプラグインでは、 add_action('wp_ajax_actionname', array(__CLASS__, 'functionName')) を作成するクラスを作成しました
functionName は次のようになります。
function functionName()
{
global $wpdb;
if(wp_verify_nonce($_POST['s'], 'cdoCountryAjax') != false)
{
$zones = $wpdb->get_results(
$wpdb->prepare(
"
SELECT
zone_id AS ID,
name AS Name
FROM
" . $wpdb->prefix . "cdo_zone
WHERE
country_id = %d
",
$_POST['id']
)
);
header('Cache-Control: no-cache, must-revalidate');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Content-type: application/json');
$results = array();
foreach($zones as $zone)
{
$results[$zone->ID] = $zone->Name;
}
echo json_encode($results);
}
die(-1);
}
上記の関数は、オブジェクトに返されたクエリ結果を取得し、json_encode 関数を使用してエコーしました。
問題は、上記の方法をどのようにテストできますか? それをテストする方法はありますか?