Plots2: Добавьте дополнительные функциональные тесты для каждого метода в Search API

Созданный на 22 янв. 2018  ·  3Комментарии  ·  Источник: publiclab/plots2

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

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

Если вы вносили свой вклад раньше, подумайте о том, чтобы оставить это кому-то новому и просмотреть наши общие справочные вопросы. Спасибо!

Эта проблема

Тесты помогают нам убедиться, что сайт ведет себя так, как мы ожидаем, и что по мере добавления новых функций они не нарушают существующие функции. Мы работаем над достижением почти 100% «покрытия», что означает, что весь наш код покрыт тестами.
У нас есть хорошие тесты, написанные для API typeahead, здесь: https://github.com/publiclab/plots2/blob/master/test/functional/typeahead_api_test.rb

Это проверяет каждый метод в: https://github.com/publiclab/plots2/blob/master/app/api/srch/typeahead.rb

Но у нас должны быть похожие для API поиска, для каждого из методов в: https://github.com/publiclab/plots2/blob/master/app/api/srch/search.rb

(Обратите внимание, что они, в свою очередь, сильно зависят от этого файла - если вы хотите знать, как они создаются: https://github.com/publiclab/plots2/blob/master/app/services/search_service.rb)

Решение

В # 1409 первый участник недавно создал новый тестовый файл и единственный тест, который вы можете найти в test / function / search_api_test.rb:

проверить "функциональность поиска по заметкам" сделать
получить '/ api / srch / notes? srchString = Blog'
assert last_response.ok?
еще # материала после этого
Это базовый тест на то, что ответ "ок", а затем он переходит к проверке того, что находится в ответе. Посмотрите, как он использует URL-адрес для доступа к методу заметок в этой строке:

Итак, скопируйте его и следуйте приведенным примерам URL в search.rb, чтобы создать новый тест для другого метода. Например, профили: https://github.com/publiclab/plots2/blob/master/app/api/srch/search.rb#L30

Начните с утверждения last_response.ok? как указано выше; позже мы сможем добавить более содержательные тесты.

Вы можете попробовать запустить это с помощью rake test или (только для запуска функциональных тестов) rake test TEST = test / function / search_api_test.rb - надеюсь, он пройдет!

Но вы также можете просто открыть запрос на перенос (см. Ниже), и наша автоматическая тестовая система запустит его, и вы сможете увидеть результат там.

Если вы можете помочь с этим, пожалуйста, откройте запрос на перенос с добавленным этим тестом, и давайте посмотрим, как он пройдет - даже если он не пройдет, мы можем помочь вам со следующими шагами.

Шаги по исправлению

заявите об этой проблеме с комментарием здесь, ниже, и задайте любые уточняющие вопросы, которые вам нужны
настройте репозиторий локально, следуя инструкциям README, и убедитесь, что все тесты проходят
попробуйте решить проблему, выполнив описанные выше действия, но даже до того, как вы закончите, вы можете:
зафиксируйте свои изменения и запустите запрос на перенос (см. участие в программном обеспечении Public Lab), но отметьте его как «в процессе», если у вас есть вопросы или вы еще не закончили
предупредите кого-нибудь через список разработчиков (см. ниже), чтобы ваш пул-реквест был объединен. Это может потребовать дополнительных действий в зависимости от того, когда вы это сделаете, но мы вам поможем!
Отправьте электронное письмо списку разработчиков (см. Https://publiclab.org/wiki/developers) или перейдите в чат, если у вас есть вопросы, и посмотрите нашу целевую страницу для новичков для получения дополнительной информации!

Ruby first-timers-only help wanted testing

Все 3 Комментарий

Хорошо выглядит, @Gauravano ! Может быть, еще немного форматирования с заголовками? Спасибо!

Могу я потребовать это?

Да, это было бы отлично.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги