В проектах Javascript слишком много тестовых шаблонов. ИМХО. Есть реальные случаи, когда некоторые варианты использования требуют хорошо продуманных нетривиальных тестовых примеров. Но большинство тестовых случаев, которые я вижу в дикой природе, следуют некоторым вариантам:

Что, если мы сможем сократить эти усилия с помощью настраиваемого DSL? Или еще лучше, с DSL, который позволяет нам совмещать наши тесты с функциями с помощью аннотаций? Что-то вроде этого:

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

Вот несколько преимуществ, которые я отметил в своих собственных проектах:

  1. Самостоятельная документация: аннотированные тесты предоставляют некоторую документацию о том, что выполняет тестируемый артефакт, а также запускает действительный тест.
  2. Заставляет меня писать более тестируемый код: когда мне кажется, что я не могу написать значимый тест для функции с помощью saul, это указывает мне, что, возможно, функция делает «слишком много» или «слишком мало, чтобы иметь значимый тест. ».
  3. Позволяет мне тестировать варианты использования, зависящие от домена: если у меня есть набор тестов, которые мне нужно написать что-то очень специфичное для моего домена, я могу легко использовать настраиваемый движок и утверждать эту логику. Нравиться:

Это шутка! Проверьте saul. Удачного тестирования!