Как сделать так, чтобы autospec / test не запускал полный набор тестов после того, как все стало зеленым? - PullRequest
0 голосов
/ 26 июня 2009

Тот же вопрос, что и waloeiii в twitter :

Как мне запустить автоспец / тест? полный набор тестов после всего становится зеленым? Следующий тест, который я напишу, будет быть красным!

Я бы предпочел запустить полный набор тестов вручную.

Кстати, я попытался добавить ошибочную спецификацию:

it "should flunk" do
  flunk
end

но autospec, кажется, игнорирует его, когда ему это нравится.

Ответы [ 4 ]

1 голос
/ 30 сентября 2010

Немного поздно, но я тоже искал это, поэтому подумал, что выложу свое решение:

Добавьте следующее в ~ / .autotest:

class Autotest
  def rerun_all_tests
  end
end
1 голос
/ 26 июня 2009

Вы уверены, что вас не смущает предполагаемое поведение эвристики автотеста?

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

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

Если вы хотите изменить это поведение, вам нужно отредактировать эвристику в файле rails_autotest.rb для zentest.

1 голос
/ 16 апреля 2010

Вы можете использовать следующую опцию, чтобы избежать этого поведения -

autospec --no-full-after-failed
0 голосов
/ 26 июня 2009

Я думаю, что это сделано специально - если вы исправляете неработающую спецификацию, а все остальные спецификации в этом разделе зеленые, тогда autospec перезапустит весь пакет - это скажет вам, применялось ли исправление к одной области Проект заблокировал другой или нет.

Если вы хотите одновременно запустить спецификации, над которыми вы работаете, то вы можете сделать это из командной строки:

ruby spec/controllers/my_spec.rb

или из Textmate, нажав cmd + r из вашего spec-файла. В любом случае вы должны перезапустить весь свой пакет, иначе вы можете пропустить ошибочные спецификации.

...