質問: 単体テスト用の画像を追加する方法 wp_get_attachment_image_srcを呼び出す場所で関数をテストする必要があります。テスト用の画像を追加するにはどうすればよいですか。今このメソッドを呼び出すとfalseが返されるためです。
回答: wordpressが添付ファイルテストをどのように構築したかを見てみましょう。 tests/phpunit/tests/post/attachments.phpがこのメソッドを使う ことがわかります :function _make_attachment( $upload, $parent_post_id = 0 ) { $type = ''; if ( !empty($upload['type']) ) { $type = $upload['type']; } else { $mime = wp_check_filetype( $upload['file'] ); if ($mime) $type = $mime['type']; } $attachment = array( 'post_title' => basename( $upload['file'] ), 'post_content' => '', 'post_type' => 'attachment', 'post_parent' => $parent_post_id, 'post_mime_type' => $type, 'guid' => $upload[ 'url' ], ); // save the data $id = wp_insert_attachment( $attachment, $upload[ 'file' ], $parent_post_id ); wp_update_attachment_metadata( $id, wp_generate_attachment_metadata( $id, $upload['file'] ) ); return $this->ids[] = $id; } 彼らはまた彼らのテストで サンプル画像 を含めました。以下は、 テストの1つにおいて、_make_attachment()メソッド を呼び出す方法の例です。function test_insert_image_no_thumb() { // this image is smaller than the thumbnail size so it won't have one $filename = ( dir_testdata.'/images/test-image.jpg' ); $contents = file_get_contents($filename); $upload = wp_upload_bits(basename($filename), null, $contents); $this->asserttrue( empty($upload['error']) ); $id = $this->_make_attachment($upload); // ... だからあなたはあなたのテストのために画像をアップロードするためにそのようなものを使うことができるはずです。あなたは自分自身を使うために画像を供給するか、あるいは既に含まれているもののうちの1つを使うことができます。