31. Разработка через тестирование (TDD) — Rust язык программирования 🐻

Автор Alla Bessonova
31. Разработка через тестирование (TDD) — Rust язык программирования 🐻

Привет.

Меня зовут. Николай в этом уроке мы добавим функционал поиском проект с помощью методологии разработка через тестирование её отличительной особенностью является помощь в разработке структуры кода написание тестов прежде написания кода. Дают возможность реализовать высокую степень покрытия тестами.

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

Удали макрос Sprint один из файлов. КРС мрс. Дарья добавим модуль тест itest новую функцию которая определяет поведение функции search' тесте мы определяем произвольный текст и выбираем из него запрос после мы возвращаемое значение функции сердца с ожидаемой строкой кот не будет скомпилирован функция сердце не существует поэтому добавим её определение она будет возвращать пустой. Вектор нам нужно явно указать время жизни переменных конкурс возвращаемого значения. Так мы сообщаем компилятору, что срез текстовых данных переменной contrans и данные вектора выходных данных будет ссылаться на одну и ту же строку в жизни переменных связывает один из входных параметров с выходным проверяем наш тест и видим ошибку так как пустой. Вектор не равен вектору с данными переходим ко второму шагу разработки через тестирование. Нам необходимо определить реализацию функции сердца и алгоритмы можете видеть на экране стандартная библиотека предоставляет метод выборки строк одна за одной метод Lines возвращает итератор подробнее о них мы поговорим в одном из следующих уроков метод выполняет поиск необходимого текста в строке сохраняем строку если оно соответствует условиям поиска для этого наш. Вектор должен быть изменяемым и вызываем метод Push. Сохранение данных в вектор после обработки все функция вернет заполненный данными Vector прохождение теста свидетельствует о том, что мы всё сделали правильно. Теперь мы можем приступить к заключительному этапу рефакторинга кода мы можем использовать наши функцию в логической цепочке нашей программы. Нам необходимо использовать поле конфиг в качестве искомой строки и текст который функция рассчитывает из файла далее функция ранд печатает каждую строку полученное в результате работы функции сердца используя для этого цикл for проверим работу программы после рефакторинга. Отлично Теперь попробуем другой запрос проверим. Что произойдет если искать отсутствующие слова всё работает как надо в итоге мы реализовали сокращённую версию grub и научились структурировать приложения также немного изучили файловый ввод и вывод повторили использование переменных времени жизни тестировали код использовали команды. Карго Если вам понравилось — это видео не забудьте поставить лайк и подписаться на канал. Чтобы не платить следующая — это очень помогает развитию канала и побуждает меня совершенствовать качество видео. Также прошу писать ваши вопросы отзывы и предложения в комментариях я обязательно прочту и отвечу. Благодарю за просмотр и до встречи в новых видео.

0 комментариев
0

Читайте также