Почему мои сценарии с огурцами терпят неудачу, когда шаги выполняются вместе, но проходят, когда они выполняются по отдельности? - PullRequest
5 голосов
/ 10 января 2011

Когда я запускаю свои сценарии с огурцом в целом или с помощью команды: cucumber Я получаю 7 неудачных шагов. Когда я запускаю их индивидуально с тегом незавершенного производства, они проходят нормально.

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

Я попытался запустить отладчик, но, кажется, он не работает, когда я запускаю команду cucumber. Работает только при запуске с тегом незавершенного производства: cucumber -p wip

Я подумал, что все может происходить слишком быстро, а капибара не проверяет все правильно?

Есть идеи?

1 Ответ

2 голосов
/ 11 февраля 2011

Эврика!У меня возникла та же самая проблема в течение некоторого времени - мои тесты становились все медленнее и медленнее, чем больше я добавлял - также, некоторые тесты будут неуспешно проваливаться, но только при запуске как целого пакета - после того, как мои тесты закончатся, я просто запустлюеще раз и альт!все проходитОчень неприятно - но самым разочаровывающим моментом была скорость - недавно я перешел на снежного барса и собрал все до 64 бит.Результат?Мои тесты прошли от 7 минут до 32!

Однако есть ключ к этому - 64-битные приложения используют больше памяти, чтобы делать то же самое, по-видимому - однако, когда я выполнял свои тесты, память на моей машине никогда не приближалась к максимальному увеличению.Подсказка № 2?У Вебрата все шло быстро, только когда я использовал culerity / celerity для тестирования javascript, все действительно замедлялось.

После осмотра я обнаружил, что jruby говорит java дать ему максимальный «размер кучи» 512радио- и телевещание компании Эм-Би-ЭсJRuby позволяет вам устанавливать опции java, когда он вызывается, а culerity позволяет переменной окружения вызывать jruby любым удобным для вас способом.Конечно же, в это время java перестанет использовать память, и процессор попытается поджечь себя.Так ты готов?Вот оно:

JRUBY_INVOCATION="jruby -J-Xmx1024m" cucumber

Это увеличило размер моей кучи до гигабайта, и время моего тестирования сократилось до 7 минут!Это оно?Я получил это?Я очень надеюсь, что это поможет!

...