it-swarm-ja.com

Phpunitでis_front_pageを呼び出すテストを作成する方法

私はWP_UnitTestCaseを使っていますが、私のコードではこのような状態にあります。私はPHPUnitでそれをシミュレートする方法がわかりませんis_front_page

これは私が持っているコードの一部です

elseif ( is_front_page() ) {
    // logic
}

そしてこれが私がページに行く方法です

$this->go_to( $this->post_obj->get_permalink() );

これがホームページであることをphpunitに伝えるにはどうすればいいですか?

5
toy

is_front_page() 関数は、 wp_query::is_front_page() を呼び出します。あなたが スクロールダウンしてソース を見ると、あなたがトリガしようとしているコードが見えるでしょう:

elseif ( 'page' == get_option( 'show_on_front') && get_option( 'page_on_front' ) && $this->is_page( get_option( 'page_on_front' ) ) )
        return true;

その条件を満たすには、テスト用に設定するコードでこれを実行するだけです。

update_option( 'show_on_front', 'page' );
update_option( 'page_on_front', $post_id );
4
J.D.