質問: $id; } function getpost() { return $this->post; } function gettarih() { return get_post_meta($this->id, "konser_tarih", true); } function getid() { return $this->id; } }
回答: 6。この2行を/wordpress-develop/tests/phpunit/includes/functions.phpに追加しました require_once('src/wp-content/themes/themename/include/posttype.php'); require_once('src/wp-content/themes/themename/include/konser.php'); それが問題だ。 wordpressがロードされる前にphpunit/includes/functions.phpファイルが含まれているため、get_post()関数は存在しません。それは実際にはそれが別のファイルとして存在する理由の一部です:それであなたはそれをあなた自身のphpunitブートストラップに含めることができます(もしあなたがそれを必要としそしてそれらの機能を使う必要があるなら)。これがプラグインに対してどのように行われるかの例として、 私が書いたチュートリアル を見ることができます。しかし、あなたのケースでは、あなたはテーマをテストしています、そしてあなたのテストスイートはそれ自身のブートストラップを保証するほど複雑ではありません。実際には、wp-tests-config.phpにdefine( 'wp_default_theme', 'themename' );を追加するという3番目のステップで十分です。あなたがrequireingしている2つのファイルは自動的にあなたのテーマの一部としてロードされます。 (はい、テーマはユニットテスト中に読み込まれます。)だからあなたの過ちはステップ6でした。それは必要ではありません。