Привет, Ксения! Спасибо за видосы. У меня появился вопрос касаемо интеграционных и системных тестов: В данном уроке ты пишешь интеграционные тесты в папке integration и наследуешь класс теста от ApplicationSystemTestCase, а не от ActionDispatch::IntegrationTest. В документации rails от ApplicationSystemTestCase наследуются системные тесты. Не могла бы ты объяснить почему наследуешься именно от ApplicationSystemTestCase, а не от ActionDispatch::IntegrationTest? Спасибо
@OverEngineer4 жыл бұрын
Привет! Наследуюсь от ApplicationSystemTestCase именно потому, что это системные (end-to-end) тесты, а насчет того, что они не должны лежать в папке integration ты абсолютно прав. System test case framework появился в Rails недавно, а до этого такие тесты (которые в браузере) часто помещали в папку integration, сейчас их нужно класть в папку system, и как-то это ускользнуло о моего внимания, спасибо за комментарий. Обновлю описание.
@Mugen888884 жыл бұрын
Ты классная, надеюсь ты из депрессии уже вылезла! Видео очень интересные, не тормози! 😘😍
@oleksandrasaskia4 жыл бұрын
Смотрю твои видео просто взахлёб! Очень конкретно, предметно, без каких-либо заумных высказываний! Просто супер.
@ИванАпальков-и9д4 жыл бұрын
спасибо за Ваш труд!
@eldarmustafaiev21032 жыл бұрын
Привет, Ксения! Подскажи, в какую базу сохраняются посты, созданные при запуске тестов capybara, и удаляются ли они автоматически ?
@antnbaranov4 жыл бұрын
Только появился вопрос и сразу ответ 😂 лайк за оперативность
@alexanderzakorko35003 жыл бұрын
спасибо ! очень кстати оказалось видео !
@Nixguy4 жыл бұрын
Небольшое дополнение: Если вы пишите тесты, то стоит полагать, что все используемые библиотеки, фреймворки и прочий код от третьих лиц работает верно, и нам писать для него тесты не нужно. Если все-таки такие тесты приходится писать часто и много, то не стоит такой код от третьих лиц использовать, вы просто тратите свое время впустую. Насчет тестов моделей: В примере из видео получается, что тестируются сами валидаторы, а не модель. Т.е. проверяется, а действительно ли верно отработают валидаторы, если оставить одно поле пустым, а длина другого поля привысит лимит символов. Да! Они отработают! Валидаторы уже протестированы разработчиками 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 Жыл бұрын
Надеюсь, сейчас то вы и сами знаете, что ваши тесты делают то же самое, а не то, что вы думали🙂 Они ведь так же создают экземпляр класса и вызывают у него метод valid? is_expected создаёт экземпляр, а validate_* делает остальную "магию" (и это, кстати, делает уже не rspec, а shoulda matchers, который и в Minitest тоже работает).
@megaman13able4 жыл бұрын
Я наверно пропустил, а с каким движком тут взаимодействует капибара? Я так понимаю можно юзать разные варианты: selenium, puppeteer или ещё что нибудь
@OverEngineer4 жыл бұрын
не пропустили, я этого не касалась в видео. Да, там три драйвера можно выбрать - selenium, webkit и racktest
@leroymarmelou71073 жыл бұрын
красотка
@timoraivonen18484 жыл бұрын
Лайк.
@YogeshSharma-zv7cr4 жыл бұрын
Please add english captions!
@johny_doe4 жыл бұрын
ты просто няшка. У тебя есть парень?)
@maxsh26023 жыл бұрын
Эээээкыш, я первый придумал альфонснуться через неё в Германию
@ДмитрийНормов-ю6ц2 жыл бұрын
@@maxsh2602 "альфонснуться" - ну и слово придумал, угар )))))
@СергейПанов-з3ц4 жыл бұрын
Копать узкоспециализированный контент. Нужно ли писать тесты, если в соло работаешь над проектом? Если да то зачем? Ты же и так "тестируешь код" по мере того как его пишешь.
@OverEngineer4 жыл бұрын
конечно, нужно! >>Ты же и так "тестируешь код" кавычки в правильном месте поставлены. код можно протестировать вручную только теоретически :)