Я создаю некоторые драгоценные камни, которые можно использовать в Rails-контроллерах и представлениях. Я бы хотел иметь возможность самостоятельно тестировать драгоценные камни. Но мне не удалось выяснить, как создать экземпляр Rails внутри драгоценного камня, чтобы проверить, что камень будет работать внутри приложения Rails.Тестирование Ruby Gems под Rails
Я настоятельно рекомендую использовать RSpec, но, возможно, может адаптировать решение Test :: Unit или просто использовать Test :: Unit.
Меня также будут интересовать аналогичные решения для плагинов Rails.
(Я пробовал Google, но «тестирование рельсов gem» показывает мне драгоценные камни, которые используются для тестирования, а не как проверить драгоценный камень. Я уверен, что видел статью или 2 по этой теме.)
Это было очень полезно; благодаря! Есть ли способ сохранить ActiveRecord загружен (ala spec_server или spork), чтобы загрузка ActiveRecord и создание базы данных каждый раз не замедляли мои тесты? – Chinasaur
Я уверен, что есть способ сделать это. Если вы используете хранилище файлов sqlite3, вместо хранилища памяти, которое использует мой плагин Live validations, вы можете проверить, существует ли файл базы данных .sqlite3 и не запускать миграцию, если он есть и т. Д. –
Это работало довольно хорошо для меня, всего пару Примечания: 1) Я должен был добавить свои рамки тестирования (rspec) и sqlite3 как зависимости от разработки в моем gemspec (и, конечно же, рельсы как зависимость от времени выполнения), 2) Нужно требовать «рельсы» и «active_record» в моем тестовом помощнике как Что ж –