Я создаю приложение Rails под названием «MyApp» с Spree и пробую тестировать с RSpec.
Я читаю Документ приложения Spree Test и пробую тестировать с RSpec.
Но я получил ошибку
~/r/d/MyApp ❯❯❯ bundle exec rspec
An error occurred while loading ./spec/controllers/spree/home_controller_spec.rb.
Failure/Error:
describe Spree::HomeController, type: :controller do
it "render index template" do
get :index
response.should render_template(:index)
end
end
NameError:
uninitialized constant Spree
# ./spec/controllers/spree/home_controller_spec.rb:3:in `<top (required)>'
No examples found.
Finished in 0.0004 seconds (files took 0.146 seconds to load)
0 examples, 0 failures, 1 error occurred outside of examples
NameError: неинициализированная константа Spree Я думаю, что эта ошибка произошла, потому что она определяет только декоратор.Исходный контроллер определен в Gem Spree (ядро, бэкэнд, внешний интерфейс и т. Д.).
Подробные коды следующие:
MyApp / app / controllers / home_controller_decorator.rb
Spree::HomeController.class_eval do
def index
do_something
end
end
MyApp / specs / controllers / home_controller_spec.rb
require 'spec_helper'
describe Spree::HomeController do
it "render index template" do
get :index
response.should render_template(:index)
end
end
MyApp / spec / spec_helper.rb
RSpec.configure do |config|
config.expect_with :rspec do |expectations|
expectations.include_chain_clauses_in_custom_matcher_descriptions = true
end
config.mock_with :rspec do |mocks|
mocks.verify_partial_doubles = true
end
config.shared_context_metadata_behavior = :apply_to_host_groups
config.disable_monkey_patching!
config.order = :random
Kernel.srand config.seed
end
Как проверить оригинальную логику моего декоратора?Где я должен написать код?Не можете проверить каталог MyApp / spec?
Может быть, я неправильно понимаю Spree Test.
Пожалуйста, дайте мне подсказку.Спасибо.