Test etmek için içinde kukla uygulaması ile "fantastik" adlı bir gemim var. Kukla uygulamayı çalıştırırken her şey iyi çalışıyor. Testleri çalıştırdığınızdaGem entegrasyon testleri jQuery ile başarısız oldu
Ancak, birim testleri çalışıyor, ancak entegrasyon testleri (Capybara + Poltergeist) iletisiyle başarısız:
Sprockets::FileNotFound: couldn't find file 'jquery' with type 'application/javascript'.
Checked in these paths:
/fantastic/spec/dummy/app/assets/images, /fantastic/spec/dummy/app/assets/javascripts, /fantastic/spec/dummy/app/assets/stylesheets, /fantastic/app/assets/javascripts, /fantastic/app/assets/stylesheets, /fantastic/vendor/assets/javascripts
benim bazı dosyalar:
fantastic.gemspec
# ...
s.add_development_dependency "capybara"
s.add_development_dependency "poltergeist"
s.add_development_dependency "jquery-rails"
# ...
Spec/kukla/app/varlıklar/javascripts/şey raylar çalıştırırken sunucu her şey gayet iyi çalışıyor, ve jQuery düzgün yerleştirildiğinden emin (Ben bunu test edilir
//= require jquery // Error is produced in this line
//= require jquery_ujs
//= require fantastic
//= require_tree .
application.js tarayıcının konsolu).
Testlerde neler olduğuna dair bir fikrin var mı?
Ben özel bir Capybara.app
oluşturma çalıştı
DÜZENLEME:
Spec/spec_helper.rb kukla uygulaması göz önüne alındığında spec/dummy/
klasöründe
ENV["RAILS_ENV"] = 'test'
# Require dummy Rails app
require File.expand_path("../../spec/dummy/config/environment", __FILE__)
require 'database_cleaner'
require 'rspec/rails'
require 'capybara/rspec'
require 'capybara/poltergeist'
# Requires supporting ruby files with custom matchers and macros, etc,
# in spec/support/ and its subdirectories.
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
require 'capybara/dsl'
Capybara.app = Rack::Builder.new do
map "/spec/dummy/" { run Rails.application }
end.to_app
Capybara.register_driver :poltergeist do |app|
Capybara::Poltergeist::Driver.new(app, {js_errors: false})
end
Capybara.javascript_driver = :poltergeist
RSpec.configure do |config|
# If true, the base class of anonymous controllers will be inferred
# automatically. This will be the default behavior in future versions of
# rspec-rails.
config.infer_base_class_for_anonymous_controllers = false
config.infer_spec_type_from_file_location!
end
. Testleri
Failure/Error: expect(page).to have_content "Users" expected to find text "Users" in "Not Found: /users". (However, it was found 1 time using a case insensitive search.) # ./spec/features/record_updated_spec.rb:6:in `block (2 levels) in '
Uygulamanızın olağandışı konumu nedeniyle, uygulama kökünün doğru bir şekilde algılanması mümkün değildir. Özel bir 'Capybara.app' ayarlamalısınız - Capybara'nın varsayılanı nasıl tanımladığını görün - https://github.com/teamcapybara/capybara/blob/master/lib/capybara/rails.rb –
@ThomasWalpole Yardımlarınız için teşekkürler ama yine de çalışamıyorum. Daha fazla bilgi ekledim, girdinizi kullandım, düzenlememe bir göz atabilir misiniz lütfen? –
Bu halka açık bir repo mü? (Rubygems.org'da fantastik olarak adlandırılan bir taş göremiyorum) –