Рубрики
Без рубрики

Hello World Kata

Спросите себя: «Как бы я приветствовать мир?». Теги с Python, TDD, Kata, учебником.

Здравствуйте, мир через тестовое развитие (TDD)

Выберите язык программирования (может быть, тот, который вы в первую очередь используете на работе) … Насколько жестко/просто будет выполнить эту ката?

Я создал шаблон Hello World Python Kata: Привет Мир Ката

Если вы уже знакомы с TDD, агрегатами и/или издевательства, то это кажется абсурдным упражнением. Тем не менее, эта небольшая программа достаточно, чтобы осуществлять каждое правило тестирования и издевательства и издевательства на каждое правило TDD Plus. Это фундаментальные основы TDD!

Намерение этой статьи – определить, затем пройти через одно решение к этой кате.

Ожидаемое поведение

Создайте программу, которая выводит на консоль, «Hello World».

Ограничение

Три правила TDD, как описано в дяди Боб

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

1: Добавить тест, чтобы подтвердить файл hello_world существуют

Начните с создания тестового файла hello_world_test.py Отказ Утверждайте ничего больше, чем существует файл, используя оператор импорта. 1-й + 2-я правило TDD

import hello_world

Тест не удается – ModuleNotFoundError: Нет модуля по имени «Hello_World»

2: Добавить hello_world.py file.

Создать hello_world.py как пустой файл. 1-й + 3-й правило TDD

# no code, just a new file

тестовые пропуски

3: Добавить неудачный тест с MOCK TOVES.PRINT

Напечатанная напечатана Python, вызывается, когда вызывается функция «Print». Обновите тест на Макет Это встроенный … 2-е правило TDD

from unittest.mock import patch


@patch('builtins.print')
def test_hello_world(mock_print):
    import hello_world
    mock_print.assert_called_with('hello world')

Тест не удается : AssertionError: Ожидаемый звонок: Печать («Hello World»)

4: Распечатать Hello World

Напишите код функции !!!

print('hello world')

тестовые пропуски

5: Прибыль! (Выполнено)

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

Тем не менее, одна строка кода функций достаточно, чтобы разоблачить основы TDD!

Разработка, ориентированная на тестирование – это методология программирования, которая занимает несколько минут, но карьера для освоения …

Что касается сопротивления TDD :

Теперь большинство программистов, когда они сначала услышали об этом технике, подумайте: «Это глупо!» «Он собирается замедлить меня, это пустая трата времени и усилия, она будет держать меня от мышления, это будет держать меня от проектирования, это просто сломает мой поток». Однако подумайте о том, что произойдет, если вы вошли в комнату, полную людей, работающих таким образом. Выберите любого случайного человека в любое случайное время. Минуту назад весь их код работал.

Оригинал: “https://dev.to/dev3l/the-hello-world-kata”