Как добавить изображение для модульного тестирования?

Я должен проверить функцию, где он вызывает wp_get_attachment_image_src . Как добавить изображение для тестирования, потому что прямо сейчас, если я вызываю этот метод, он возвращает false.

Solutions Collecting From Web of "Как добавить изображение для модульного тестирования?"

Я бы посмотрел, как 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; } 

Они также включили образцы изображений в свои тесты. Вот пример того, как они называют метод _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); // ... 

Поэтому вы можете использовать что-то подобное для загрузки изображения для своего теста. Вы можете предоставить изображение для использования самостоятельно или просто использовать один из уже включенных.