Відмінності між тестом і спец


12

У мене зараз проблема з концепцією, і я не можу знайти інформацію про відмінності між Test (UnitTest тощо) проти Spec (Rspec тощо).

Наскільки я знаю, специфікації входять до інтеграційних тестів, а тест - у UnitTest, але тільки це.

Чи можете ви пояснити, чим відрізняються?

Відповіді:


12

Подивіться на наступну схему. Він ілюструє взаємозв'язок між тестовою керованою розробкою (TDD) та розробкою тестування прийняття (ATDD):

Діаграма розвитку прийнятого тесту на прийняття

Зауважте, що внутрішня петля, TDD, огинається зовнішньою петлею, ATDD. Вимоги (проілюстровані в полі Критерії прийняття) зумовлюють створення автоматизованих тестів прийняття, які, в свою чергу, керують створенням тестових модулів для впровадження.

Загалом, RSpec буде використовуватися в тих ситуаціях, коли ви хочете виразити тести зручним для Business Analyst способом, а саме створення автоматизованих тестів прийняття (загар-коло); тоді як рамкові тестові рамки, такі як nUnit, більш спеціалізовані для виду тестів одиниць, написаних з точки зору TDD розробника на рівні реалізації (жовте коло).


Хороший приклад - хеш-таблиця, для цього потрібні детальні тестові одиниці, оскільки, як очікується, вони працюватимуть для всіх можливих входів, а не лише для невеликого набору прикладів у тестах прийняття. Однак код, який розраховує знижку для "хорошого" клієнта, ймовірно, буде добре покритий тестами приймання, тому може знадобитися відсутність або кілька одиничних тестів.
Ян

3

ОК, у нас тут є різні терміни, ось ось що відбувається

  • У нас є одиничне тестування. Інші рівні - тестування інтеграції, тестування продуктивності тощо
  • rspec може бути використаний для багатьох з вищезазначених рівнів тестування, наприклад, щодо моделей, контролерів та поглядів через тести функцій Capybara.
  • слово 'spec' походить від специфікації, яка лежить в основі тесту - воно щось визначає.
  • rspec - фреймворк, який використовується для тестування агаїстичних браузерів, часто застосовується для додатків Ruby on Rails.
  • spec-файли - rspec-файл, як правило, закінчується _spec.rb і його часто називають специфічними файлами.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.