Intereting Posts
Проблемы с add_rewrite_rule Вставить содержимое сообщения в другое прекратить красивую разбивку по страницам сайта site.com/cat/2 => site.com/cat?page=2 Как переместить стиль из файла шаблона в раздел <head>? Точное совпадение в WordPress Как включить сообщения из одной категории в отдельную категорию сообщений? Как получить дату для каждого сообщения? Почему wordpress multisite перенаправляет на wp-signup, если сайт существует? body_class (); не работает с bootstrap navbar fixed top? Пустое пространство в начале тега <title>? Настройка пользовательского контура. Как я могу это сделать? Передача переменных запроса в шаблон пользовательской страницы Как я могу автоматически изменять размер изображений, чтобы они соответствовали всем моим зарегистрированным размерам изображения Добавление короткого сообщения в шаблон страницы? Изменения обрезки add_image_size на мобильных устройствах

Как я могу связать тесты с проблемами GitHub?

Я пытаюсь запустить автоматические тесты WordPress, как описано в этой статье . Как и ожидалось, у меня было много пропущенных тестов с отметкой S , потому что, согласно статье, «это обычно означает, что тест связан с сообщением об ошибке, и этот отчет об ошибке остается незафиксированным». Я бы хотел связать тесты с отчетами об ошибках, но мне трудно найти информацию о том, как это сделать. Как связать тест с сообщением об ошибке? Могу ли я это сделать с проблемами GitHub?

Edit: Хорошо, я нашел это в той же статье: «Многие тесты отмечены аннотацией @ticket, которая указывает, что они были результатом этого билета WordPress Trac. Тест пропускается, если билет все еще открыт – в этих случаях, мы рассматриваем тест как «известную ошибку», которая, скорее всего, потерпит неудачу ».

И я нашел tests/phpunit/includes/testcase.php -> knownWPBug( $ticket_id ) , но мне было бы knownWPBug( $ticket_id ) узнать, есть ли библиотека для билетов на GitHub, например, класс TracTickets чтобы я мог опросить мой TracTickets GitHub, чтобы узнать, проблема открыта или нет.

Я не знаю о библиотеке, но вы, вероятно, можете создать ее с помощью TracTickets в качестве руководства и с помощью API GitHub.

Я на самом деле отвечаю, чтобы сказать , не делайте этого . WordPress фактически больше не использует этот метод пропусков тестов. См. Билет № 30284 . Я цитирую оттуда:

Наша предыдущая конвенция заключалась в том, чтобы написать модульные тесты для демонстрации ошибок, аннотировать эти тесты с помощью флага @ticket и передать их репо. Затем, при запуске пакета, WP_UnitTestCase::knownWPBug() получит список открытых билетов от Trac и пропустит тесты против открытых билетов, что позволит выполнить сборку.

Но:

Новое соглашение заключается в фиксации тестов только при исправлении ошибки.

Я рекомендую вам рассмотреть причины, по которым WordPress отказался от этого метода (которые указаны в этом билете), и я думаю, вы, вероятно, закончите, что не хотите этого делать. Вместо этого тесты должны проводиться вместе с исправлением. Вы не хотите провалить тесты, то, что вы хотите, – это исправлены ошибки.

Но это оставляет десятки неудавшихся тестов в репо. Эти тесты следует вытащить, преобразовать в патчи и загрузить в соответствующий билет Trac с запиской о том, что произошло. После того, как все неудавшиеся тесты выйдут из репо, мы можем удалить поведение известногоWPBug из тестового бегуна.

Это было сделано, за исключением удаления knownWPBug() . Вероятно, было решено оставить его для обратной совместимости.

Причина, по которой вы все еще видите много пропущенных тестов, заключается в том, что для некоторых тестов требуется многоуровневое включение (или выключение), а другое требует, чтобы PHP был скомпилирован с отключенными определенными расширениями. Существуют и другие причины, по которым тесты также пропущены.