Насколько совместимы rspec и heckle? - PullRequest
2 голосов
/ 08 февраля 2009

В настоящее время я использую test / unit, и я рассматриваю возможность использования rspec. Однако я заметил, что rspec в настоящее время не поддерживает хекл в ruby ​​1.9.1 и не поддерживает передачу каких-либо параметров в хекл, кроме целевого модуля / класса / метода.

Есть ли другие проблемы с использованием heckle и rspec или они хорошо работают вместе, кроме этих двух проблем?

Кроме того, если я сейчас останусь с тестом / юнитом, стоит ли мне использовать его с огурцом?

Edit : проблема 1.9.1 не является ошибкой rspec - heckle не может работать на ruby ​​1.9.1 , потому что parsetree не может работать на ruby ​​1.9.1.

Ответы [ 2 ]

4 голосов
/ 11 февраля 2009

В последний раз, когда я проверял, Heckle + RSpec работал не очень хорошо, и я не думаю, что многие люди используют их вместе.

Еще весной 2008 года я изучил это и заметил, что RSpec и Heckle некоторое время вообще не работали вместе. Я сделал патч, и он был принят в RSpec 1.1.14. Даже после этих изменений я не нашел Гекла очень полезным. Если я правильно помню, проблема в том, что сам Гекл вылетает с нетривиальными программами.

Жаль, что ситуация такая, какая она есть. Если вы хотите помочь, вы можете взглянуть на проект boo-hiss: http://github.com/halorgium/boo_hiss/tree/master.

Обновление: После двухлетнего перерыва на прошлой неделе была выпущена новая версия Heckle ( Heckle 1.4.2 ). Возможно это исправило проблемы, которые я испытал.

0 голосов
/ 14 апреля 2009

В настоящее время я использую heckle 1.4.2 и rspec 1.2.4 для проверки Addressable . Я рекомендую использовать команду spec напрямую для проверки чего-либо, а не настраивать ее с помощью граблей. Геклинг - это то, что я обычно делаю перед выпуском, а не во время обычной разработки, потому что это требует много времени. И когда вы пытаетесь отследить выжившие мутации, вы, вероятно, захотите пройти метод за методом.

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

Например:

spec spec/**/*_spec.rb --heckle Addressable::URI#normalize

Выход:

**********************************************************************
***  Addressable::URI#normalize loaded with 25 possible mutations
**********************************************************************

25 mutations remaining...
24 mutations remaining...
23 mutations remaining...
22 mutations remaining...
21 mutations remaining...
20 mutations remaining...
19 mutations remaining...
18 mutations remaining...
17 mutations remaining...
16 mutations remaining...
15 mutations remaining...
14 mutations remaining...
13 mutations remaining...
12 mutations remaining...
11 mutations remaining...
10 mutations remaining...
9 mutations remaining...
8 mutations remaining...
7 mutations remaining...
6 mutations remaining...
5 mutations remaining...
4 mutations remaining...
3 mutations remaining...
2 mutations remaining...
1 mutations remaining...
No mutants survived. Cool!

(Результаты не характерны.)

...