Подтвердить что ты не робот

Какая разница между тестами и спецификациями?

Я решил попробовать MiniTest и довольно быстро заметил, что он поддерживает что-то, называемое "specs". Я видел эти на которые ссылался ранее, но считал, что это просто альтернативный тестовый синтаксис, связанный с фабриками, но если это так, то почему MiniTest должен поддерживать их обоих?

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

4b9b3361

Ответ 1

Google для тестов против спецификаций. Появляются хорошие сообщения:

Мое мнение таково, что спецификации читают больше "естественных" и больше походят на настоящие спецификации функциональности кода по сравнению с mini-test et.al.

Rspec - хороший пример DSL, специально написанный для написания тестов, которые имеют смысл при чтении, даже для людей, которые менее технически склонны.

Но, в конце концов, используйте то, что заставляет вас чувствовать себя более комфортно. Написанный тест почти всегда лучше, чем не написанный тест, потому что вы чувствуете себя некомфортно, используя платформу тестирования

изменить

После перечитывания вашего вопроса вы, похоже, задаете вопрос о спецификациях мини-тестов. Это дополнение к minitests, которое добавляет синтаксис rspec-like к minitest. Все вышеописанное все еще применяется.

Ответ 2

Спецификация, краткая для спецификации, исходит из теста, управляемого поведением, и поощряет мышление, в котором вы определяете "что" делает программное обеспечение.

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

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