Вопросы с тегом «tdd»

TDD расшифровывается как Test-Driven Development или Test-Driven Design. Это практика написания модульного теста перед написанием кода для его удовлетворения в так называемом цикле Red-Green-Refactor.

410
Должен ли я намеренно прервать сборку при обнаружении ошибки в производстве?

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

178
Почему автоматическое тестирование не проходит в моей компании?

Мы несколько раз пытались внедрить автоматизированное тестирование для разработчиков в моей компании. Наша команда QA использует Selenium для автоматизации тестов пользовательского интерфейса, но я всегда хотел представить юнит-тесты и интеграционные тесты. В прошлом, каждый раз, когда мы пытались...

147
Когда вы пишете «настоящий» код в TDD?

Все примеры, которые я читал и видел на обучающих видео, имеют упрощенные примеры. Но что я не вижу, как я делаю «настоящий» код после того, как я становлюсь зеленым. Это часть "Refactor"? Если у меня есть довольно сложный объект со сложным методом, и я пишу свой тест и минимальный минимум, чтобы...

139
Когда уместно не проводить модульное тестирование?

Я работаю в небольшой компании в качестве индивидуального разработчика. На самом деле я единственный разработчик в компании. У меня есть несколько (относительно) крупных проектов, которые я написал и регулярно поддерживаю, и ни у одного из них нет тестов для их поддержки. Когда я начинаю новые...

139
Есть ли такая вещь, как иметь слишком много юнит-тестов?

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

131
TDD против производительности

В своем текущем проекте (игра на C ++) я решил, что я буду использовать Test Driven Development на 100% во время разработки. С точки зрения качества кода это было здорово. Мой код никогда не был так хорошо спроектирован или так без ошибок. Я не смущаюсь при просмотре кода, который я написал год...

124
Как вы пишете модульные тесты для кода с трудно предсказуемыми результатами?

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

110
Что такое интеграционный тест?

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

104
Делает ли TDD защитное программирование избыточным?

Сегодня у меня была интересная беседа с коллегой. Я защитник программиста. Я считаю, что всегда должно соблюдаться правило « класс должен гарантировать, что его объекты имеют действительное состояние при взаимодействии с ним извне ». Причиной этого правила является то, что класс не знает, кто...

103
Тестируемый код лучше кода?

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

101
Должен ли я избегать частных методов, если я выполняю TDD?

Я только сейчас изучаю TDD. Насколько я понимаю, частные методы не поддаются проверке и не должны беспокоиться, потому что общедоступный API предоставит достаточно информации для проверки целостности объекта. Я понял ООП некоторое время. Насколько я понимаю, частные методы делают объекты более...

95
TDD негативный опыт [закрыт]

Какова отрицательная сторона вашего опыта TDD? Считаете ли вы, что детские шаги (самое простое решение, чтобы сделать тест зеленым) раздражают и бесполезны? Считаете ли вы, что тесты без значения (когда тест изначально имеет смысл, но в финальной реализации проверяет ту же логику, что и другие...

92
Почему работает TDD? [закрыто]

Разработка через тестирование (TDD) сегодня очень важна. Я часто вижу его рекомендованным в качестве решения для широкого круга проблем здесь, в Programmers SE и других местах. Интересно, почему это работает. С инженерной точки зрения это озадачивает меня по двум причинам: Подход "написать тест +...

91
TDD Red-Green-Refactor и если / как проверить методы, которые становятся частными

Насколько я понимаю, большинство людей, похоже, согласны с тем, что частные методы следует тестировать не напрямую, а с помощью любых открытых методов, которые их вызывают. Я вижу их точку зрения, но у меня возникают некоторые проблемы с этим, когда я пытаюсь следовать «трем законам TDD» и...

88
Что такое лондонская и чикагская школы TDD?

Я слышал о лондонском и чикагском стилях (иногда их называют стилем Детройта) в Test Driven Development (TDD). Семинар группы пользователей Utah Extreme Programming: TDD в стиле взаимодействия также называют mockist-style или London-style после лондонского клуба Extreme Tuesday, где он стал...

87
Где грань между логикой приложения модульного тестирования и ненадежными языковыми конструкциями?

Рассмотрим функцию, подобную этой: function savePeople(dataStore, people) { people.forEach(person => dataStore.savePerson(person)); } Это может быть использовано так: myDataStore = new Store('some connection string', 'password'); myPeople = ['Joe', 'Maggie', 'John']; savePeople(myDataStore,...

68
Написание тестов для существующего кода

Предположим, у кого-то была относительно большая программа (скажем, 900k SLOC на C #), все тщательно прокомментированы / задокументированы, хорошо организованы и работают хорошо. Вся база кода была написана одним старшим разработчиком, который больше не работает в компании. Весь код тестируется как...

64
Разница между модульным тестированием и разработкой на основе тестирования

Из прочтения описаний я понимаю, что в TDD тесты выполняются до написания функции, а в модульном тестировании - после. Является ли это основным отличием, или эти два термина даже нельзя сравнивать как таковые? Возможно, Unit Testing является неотъемлемой частью...

63
Как бороться со статическими служебными классами при разработке для тестируемости

Мы пытаемся спроектировать нашу систему так, чтобы она была тестируемой, и в большинстве случаев она была разработана с использованием TDD. В настоящее время мы пытаемся решить следующую проблему: В разных местах нам необходимо использовать статические вспомогательные методы, такие как ImageIO и...

62
Должны ли мы проверить все наши методы?

Поэтому сегодня я поговорил с моим товарищем по команде о модульном тестировании. Все началось, когда он спросил меня: «Привет, где тесты для этого класса, я вижу только один?». Весь класс был менеджером (или службой, если вы предпочитаете называть это так), и почти все методы просто делегировали...