Chr*_*ers 1 rspec ruby-on-rails alchemy-cms
我正在开发一个与Alchemy CMS并列的Rails 4.1应用程序.我不希望管理部分使用Alchemy的管理界面.(我正在与ZURB基金会合作.)
当我想在RSpec中运行我自己的规格时,麻烦开始酿造.虽然应用程序在开发模式下运行良好,但我在测试中遇到此错误:
Failure/Error: visit new_staff_program_path
Alchemy::DefaultLanguageNotFoundError:
No default language found. Have you run the rake alchemy:db:seed task?
Run Code Online (Sandbox Code Playgroud)
看起来控制器正在运行一些期望数据到位的过滤器.对于我的应用程序的某些部分,有没有办法可以"退出"这个?
现在,这是我的解决方案......
我有一个单独的管理员正在扩展的基本控制器.在其中,我指示它跳过before_actionAlchemy引擎添加到控制器层的调用:
class Staff::Base < ApplicationController
# Filters
skip_before_action :set_current_alchemy_site, :set_alchemy_language
# Layout
layout 'admin'
end
Run Code Online (Sandbox Code Playgroud)
如果有人有任何更好的解决方案,请告诉我.
是的,确实非常简单;)
在您的运行测试套件中,spec_helper您可以添加一个Rspec.config块,用于播放Alchemy的基础数据:
# spec/spec_helper.rb
require 'alchemy/seeder'
RSpec.configure do |config|
config.before type: :feature do
Alchemy::Seeder.seed!
end
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
251 次 |
| 最近记录: |