Я объясню, как я это сделал, используя в качестве примера следующий гем: https://github.com/skozlov/netzke-core
Приложение для тестирования .Это в netzke-core/test/rails_app
.Это приложение может быть запущено независимо, поэтому я также могу использовать его для ручного тестирования или для игры с новыми функциями, если мне нравится.
Для того, чтобы приложение для тестирования могло загрузить сам гем, у меня есть следующее вapplication.rb
:
$:.unshift File.expand_path('../../../../lib', __FILE__)
require 'netzke-core'
Особенности огурца .Они в netzke-core/features
.В env.rb
у меня есть:
require File.expand_path(File.dirname(__FILE__) + '/../../test/rails_app/config/environment')
..., который загружает приложение тестирования перед выполнением функций.
Спецификации .Это в netzke-core/spec
.В spec_helper.rb
у меня есть следующее:
require File.expand_path("../../test/rails_app/config/environment", __FILE__)
... которое будет загружать приложение тестирования перед запуском спецификаций.
Запуск тестов .Эта настройка позволяет мне запускать тесты из корня гема:
cucumber features
и
rspec spec
Factory Girl .Не для этого конкретного драгоценного камня, но я обычно использую factory_girl вместо светильников (см., Например, аналогичную настройку в https://github.com/skozlov/netzke-basepack).