Вопрос

Я ищу систему для разделения большого набора тестов в приложении Ruby on Rails (используя RSPEC, CUCURE), который работает с использованием JRuby. Огурец на самом деле не слишком плохо, но полный набор RSPEC в настоящее время занимает почти 20 минут.

Системы, которые я могу найти (Hydra, Parallel-Test) Похоже, что они используют Forking, что не является идеальным решением для среды JRUBY.

Это было полезно?

Решение

У нас нет хорошего ответа за такое приложение прямо сейчас. Только недавно я работал на вилке разговор Это позволяет поддерживать работу и повторно запускать спецификации или функции в нем, при условии, что вы используете Framework App, которая поддерживает перезарядку кода (например, Rails). Посмотрите на jrubyhub. Применение на примере того примера того, как я использую Spork.

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

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

Не стесняйтесь остановиться по user@jruby.codehaus.org или #jruby на freenode для большего количества идей.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top