Intereting Posts
Программно добавить изображение в сообщение (переписать текущее изображение, если сообщение есть) .htaccess Не-'www 'to' www 'Переадресация поддоменов работает только для главной страницы Возможно ли показать другое меню WP при использовании защищенных паролем страниц? JQuery При нажатии кнопки удаляется короткий код Проверьте, видима ли запись с защитой паролем Должен ли вывод HTML быть передан через esc_html () AND wp_kses ()? Как создать пользовательскую функцию? Можно ли нарезать index.php и включить файлы? Можно ли отобразить список связанных страниц на боковой панели? возникли проблемы с моим плагином сообщений в категории категорий Запись в Frontend – все сохраняет, кроме флажков? Сортировка моего календаря событий по дате Относительное время – как рассчитать разницу между датой публикации и текущим временем После миграции сервера серверный процессор перегружается, когда я пытаюсь активировать WPML Типы настраиваемых типов сообщений Не поддерживая структуру URL-адреса больше

Как сохранить данные таблицы в тестах wordpress phpunit

Мне было интересно, есть ли способ, чтобы phpunit для woprdress не удалял никаких данных, которые я создал во время теста?

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

Если есть некоторые данные, которые необходимо предоставить нескольким вашим тестам в одном wpSetUpBeforeClass() , вы можете создать его с помощью wpSetUpBeforeClass() , а затем удалить его снова в wpTearDownAfterClass() .

Например, тест контроллера категории REST API из ядра :

 class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcase { protected static $administrator; protected static $subscriber; public static function wpSetUpBeforeClass( $factory ) { self::$administrator = $factory->user->create( array( 'role' => 'administrator', ) ); self::$subscriber = $factory->user->create( array( 'role' => 'subscriber', ) ); } public static function wpTearDownAfterClass() { self::delete_user( self::$administrator ); self::delete_user( self::$subscriber ); } // [snip] } 

В противном случае, если вы просто хотите сохранить некоторые изменения базы данных из теста, возможно, для целей отладки, вы можете использовать commit_transaction() .

  public function test_something() { do_something(); $this->commit_transaction(); }