Почему мерзавец заботится о запаздывающем пробеле в моих файлах?

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

Пример 1: необходимо ли отметить в сообщениях базы данных, которые имеют 3 или больше обзора модератора сайта, Что такое тестовые варианты

  • , контрольно-пропускной пункт без комментариев-> не ожидает меток
  • , контрольно-пропускной пункт с одним комментарием-> не ожидает меток
  • , контрольно-пропускной пункт с 3 комментариями обычных пользователей-> не ожидает меток
  • , контрольно-пропускной пункт с 3 комментариями обычных пользователей и по крайней мере 1 комментарием модератора-> не ожидает меток
  • , контрольно-пропускной пункт с 3 комментариями обычных пользователей и по крайней мере 3 комментариями модератора-> ожидает метку этого сообщения

явный?

Пример 2: у Вас есть страница веб-сайта, которые производят список сообщений

, Как мы должны проверить, что этот список неправильно выравнивается в некотором браузере? Как мы должны проверить, что этот список окрашен правильно, и мы не сокрушили стили?

нет никакого легкого решения автоматизировать это

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

И еще одна вещь - экономика поблочного тестирования Вы доберетесь, если у Вас будет больше чем 10-12 стадий тестирования без значительной модификации кода.

С уважением, Pavel

34
задан Bjorn 17 October 2009 в 22:42
поделиться

4 ответа

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

Ловушка фиксации раньше была включена по умолчанию, но больше не . Кажется, я неправильно вспомнил; по умолчанию он никогда не включался намеренно . Как отмечали другие, это всегда был пример ловушки перед фиксацией; раньше его отключали, не давая ему бит выполнения, но с этим можно довольно легко облажаться (например, при запуске под Cygwin в Windows), поэтому в более новых версиях Git (начиная с более года назад ) образцы были отключены, получив имя pre-commit.sample . Вы можете удалить или переместить ваш .git / hooks / pre-commit , чтобы предотвратить выполнение этого крючка, если вам не нравится его поведение. Вам также следует обновить свой Git до чего-то более свежего, поскольку это уже давно исправлено.

раньше его отключали, не давая ему бит выполнения, но с этим можно довольно легко облажаться (например, при запуске под Cygwin в Windows), поэтому в более новых версиях Git (начиная с более года назад ) образцы были отключены, получив имя pre-commit.sample . Вы можете удалить или переместить ваш .git / hooks / pre-commit , чтобы предотвратить выполнение этого крючка, если вам не нравится его поведение. Вам также следует обновить свой Git до чего-то более свежего, поскольку это уже давно исправлено.

раньше его отключали, не давая ему бит выполнения, но с этим можно довольно легко облажаться (например, при запуске под Cygwin в Windows), поэтому в более новых версиях Git (начиная с более года назад ) образцы были отключены, получив имя pre-commit.sample . Вы можете удалить или переместить ваш .git / hooks / pre-commit , чтобы предотвратить выполнение этого крючка, если вам не нравится его поведение. Вам также следует обновить свой Git до чего-то более свежего, поскольку это уже давно исправлено.

поэтому в более новых версиях Git (начиная с более года назад ) образцы были отключены, получив имя pre-commit.sample . Вы можете удалить или переместить ваш .git / hooks / pre-commit , чтобы предотвратить выполнение этого крючка, если вам не нравится его поведение. Вам также следует обновить свой Git до чего-то более свежего, поскольку это уже давно исправлено.

поэтому в более новых версиях Git (начиная с более года назад ) образцы были отключены, получив имя pre-commit.sample . Вы можете удалить или переместить ваш .git / hooks / pre-commit , чтобы предотвратить выполнение этого крючка, если вам не нравится его поведение. Вам также следует обновить свой Git до чего-то более свежего, поскольку это уже давно исправлено.

31
ответ дан 27 November 2019 в 16:57
поделиться

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

При этом речь идет о ловушке pre-commit : вы можете его отредактировать, или отключить, или настроить завершающие пробелы (возможно, только для некоторых типов файлов), чтобы они не рассматривались как ошибка.


Ловушка pre-commit должна быть отключена по умолчанию , но старше версии (до 1.6.0), использовавшиеся для их установки, отключены за счет отключения разрешений на исполняемые файлы, что может не работать в файловых системах, отличных от UNIX, таких как FAT; начиная с версии 1.6.0 они устанавливаются выключенными (отключенными) добавлением суффикса «.sample».

4
ответ дан 27 November 2019 в 16:57
поделиться

Как писал Хоббс, пример ловушки перед фиксацией может проверять конечные пробелы. Чтобы отключить его, загляните в .git / hooks и убедитесь, что файлы там не являются исполняемыми.

Один из возможных способов включения ловушек - установка исполняемого бита, если вы перемещали ваше репо на флешку в формате FAT.

3
ответ дан 27 November 2019 в 16:57
поделиться

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

10
ответ дан 27 November 2019 в 16:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: