2016-09-23 1 views
5

Поскольку скринкасты и блоги начинают появляться вокруг новой функции clojure.spec в Clojure 1.9, становится ясно, что clojure.spec способен выполнять много мер по снижению рисков, которые ранее выполнялись более «традиционными» автоматизированными библиотеками тестирования, такими как как clojure.test, midje, speclj и test.check.В какой степени clojure.spec предназначен для замены традиционного тестирования функциональной автоматизации?

Является ли намерение, что возможности clojure.test будут по существу реплицированы в clojure.spec? Если вы начали создавать новое приложение сегодня для запуска под Clojure 1.9+, не могли бы вы отбросить библиотеки тестирования, перечисленные выше, и вместо этого полагаться исключительно на clojure.spec, чтобы дать вам такой же уровень уверенности в поведении вашего приложения?

ответ

8

Является ли намерение, что возможности clojure.test будут по существу воспроизведены в clojure.spec?

  • Нет, возможности clojure.test не будут воспроизведены в clojure.spec
  • Примера на основе испытаний и генеративных испытания различных инструментов для различных нужд, хотя перекрытие

Если вы начали создавать новое приложение сегодня, чтобы работать под Clojure 1.9+, не могли бы вы отбросить библиотеки тестирования, перечисленные выше, и вместо этого полагаться исключительно на clojure.spec, чтобы дать вам такой же уровень уверенности вокруг приложения поведение?

  • Я буду использовать (и хотел бы предложить) как пример на основе и генеративные тесты в большинстве проектов
  • Однако, я думаю, что будет гораздо меньше примеров на основе тестов при объединении теста примера на основе люкс с clojure.spec

Почему не все clojure.spec? (Подразумеваемые)

  • Некоторые вещи трудно спецификации
  • Некоторые вещи трудно писать генераторы для
  • Имея пример ввода/вывода в файл хорош для людей, которые только для чтения код
  • Юнит-тесты в значительной степени ожидается в большинстве зрелых проектов
  • И еще

SLi ghtly вне темы, но просто добавив дружественное напоминание о том, что clojure.spec имеет гораздо большую полезность, чем сокращение количества единичных тестов в проекте.

+0

* 'clojure.spec' имеет гораздо большую полезность, чем уменьшение количества единичных тестовых случаев *. Пожалуйста, расширьте это, что, я думаю, тоже подразумевается. – Thumbnail

Смежные вопросы