Автоматизированные тесты / Пишем соцсеть на Ruby On Rails 6 #5

  Рет қаралды 6,188

Over Engineer

Over Engineer

Күн бұрын

Пікірлер: 23
@studiosus23
@studiosus23 4 жыл бұрын
Привет, Ксения! Спасибо за видосы. У меня появился вопрос касаемо интеграционных и системных тестов: В данном уроке ты пишешь интеграционные тесты в папке integration и наследуешь класс теста от ApplicationSystemTestCase, а не от ActionDispatch::IntegrationTest. В документации rails от ApplicationSystemTestCase наследуются системные тесты. Не могла бы ты объяснить почему наследуешься именно от ApplicationSystemTestCase, а не от ActionDispatch::IntegrationTest? Спасибо
@OverEngineer
@OverEngineer 4 жыл бұрын
Привет! Наследуюсь от ApplicationSystemTestCase именно потому, что это системные (end-to-end) тесты, а насчет того, что они не должны лежать в папке integration ты абсолютно прав. System test case framework появился в Rails недавно, а до этого такие тесты (которые в браузере) часто помещали в папку integration, сейчас их нужно класть в папку system, и как-то это ускользнуло о моего внимания, спасибо за комментарий. Обновлю описание.
@Mugen88888
@Mugen88888 4 жыл бұрын
Ты классная, надеюсь ты из депрессии уже вылезла! Видео очень интересные, не тормози! 😘😍
@oleksandrasaskia
@oleksandrasaskia 4 жыл бұрын
Смотрю твои видео просто взахлёб! Очень конкретно, предметно, без каких-либо заумных высказываний! Просто супер.
@ИванАпальков-и9д
@ИванАпальков-и9д 4 жыл бұрын
спасибо за Ваш труд!
@eldarmustafaiev2103
@eldarmustafaiev2103 2 жыл бұрын
Привет, Ксения! Подскажи, в какую базу сохраняются посты, созданные при запуске тестов capybara, и удаляются ли они автоматически ?
@antnbaranov
@antnbaranov 4 жыл бұрын
Только появился вопрос и сразу ответ 😂 лайк за оперативность
@alexanderzakorko3500
@alexanderzakorko3500 3 жыл бұрын
спасибо ! очень кстати оказалось видео !
@Nixguy
@Nixguy 4 жыл бұрын
Небольшое дополнение: Если вы пишите тесты, то стоит полагать, что все используемые библиотеки, фреймворки и прочий код от третьих лиц работает верно, и нам писать для него тесты не нужно. Если все-таки такие тесты приходится писать часто и много, то не стоит такой код от третьих лиц использовать, вы просто тратите свое время впустую. Насчет тестов моделей: В примере из видео получается, что тестируются сами валидаторы, а не модель. Т.е. проверяется, а действительно ли верно отработают валидаторы, если оставить одно поле пустым, а длина другого поля привысит лимит символов. Да! Они отработают! Валидаторы уже протестированы разработчиками Rails. На мой взгляд, необходимо проверять наличие этих валидаторов и их параметров в классе модели явно. А для этого нет необходимости даже создавать экземляр класса модели, можно (и даже нужно) тестировать сам класс. Пример для RSpec: describe Post do describe '#title' do it { is_expected.to validate_presence_of(:title) } it { is_expected.to validate_length_of(:title).is_at_most(300) } end end Скорей всего, и Minitest тоже умеет что-то подобное. В итоге, мы проверяем имеет ли модель необходимые нам вызовы методов с нужными параметрами из DSL, который помогает нам описывать правила валидации.
@kvn47
@kvn47 Жыл бұрын
Надеюсь, сейчас то вы и сами знаете, что ваши тесты делают то же самое, а не то, что вы думали🙂 Они ведь так же создают экземпляр класса и вызывают у него метод valid? is_expected создаёт экземпляр, а validate_* делает остальную "магию" (и это, кстати, делает уже не rspec, а shoulda matchers, который и в Minitest тоже работает).
@megaman13able
@megaman13able 4 жыл бұрын
Я наверно пропустил, а с каким движком тут взаимодействует капибара? Я так понимаю можно юзать разные варианты: selenium, puppeteer или ещё что нибудь
@OverEngineer
@OverEngineer 4 жыл бұрын
не пропустили, я этого не касалась в видео. Да, там три драйвера можно выбрать - selenium, webkit и racktest
@leroymarmelou7107
@leroymarmelou7107 3 жыл бұрын
красотка
@timoraivonen1848
@timoraivonen1848 4 жыл бұрын
Лайк.
@YogeshSharma-zv7cr
@YogeshSharma-zv7cr 4 жыл бұрын
Please add english captions!
@johny_doe
@johny_doe 4 жыл бұрын
ты просто няшка. У тебя есть парень?)
@maxsh2602
@maxsh2602 3 жыл бұрын
Эээээкыш, я первый придумал альфонснуться через неё в Германию
@ДмитрийНормов-ю6ц
@ДмитрийНормов-ю6ц 2 жыл бұрын
@@maxsh2602 "альфонснуться" - ну и слово придумал, угар )))))
@СергейПанов-з3ц
@СергейПанов-з3ц 4 жыл бұрын
Копать узкоспециализированный контент. Нужно ли писать тесты, если в соло работаешь над проектом? Если да то зачем? Ты же и так "тестируешь код" по мере того как его пишешь.
@OverEngineer
@OverEngineer 4 жыл бұрын
конечно, нужно! >>Ты же и так "тестируешь код" кавычки в правильном месте поставлены. код можно протестировать вручную только теоретически :)
黑天使被操控了#short #angel #clown
00:40
Super Beauty team
Рет қаралды 61 МЛН
Cheerleader Transformation That Left Everyone Speechless! #shorts
00:27
Fabiosa Best Lifehacks
Рет қаралды 16 МЛН
Правильный подход к детям
00:18
Beatrise
Рет қаралды 11 МЛН
Принципы SOLID | На примере Ruby
22:12
Ilya Krukowski
Рет қаралды 8 М.
Разгоняем PostgreSQL. Личный опыт. (Перезалив)
37:05
Сисадмин Михалыч
Рет қаралды 3 М.
Основы тестирования с RSpec [GeekBrains]
1:02:37
Секреты классов Ruby | Singleton class
20:21
Ilya Krukowski
Рет қаралды 4,7 М.
黑天使被操控了#short #angel #clown
00:40
Super Beauty team
Рет қаралды 61 МЛН