Tôi đã nâng cấp ứng dụng của mình từ việc sử dụng config.gem
thành Gemfile
với gói và đã nhận thấy rằng các thử nghiệm đơn vị của tôi hiện đã ngừng chạy. Đó là một chút lạ và tôi không hoàn toàn chắc chắn nơi để bắt đầu tìm kiếm.rake không chạy thử nghiệm đơn vị
Khi tôi chạy rake test:units --trace
Tôi có thể thấy môi trường của mình đang được thiết lập và nó liệt kê các tệp mà dự định thực thi, nhưng sau đó nó chỉ trả lại.
Điều tương tự cũng xảy ra nếu tôi cố gắng chạy một tệp riêng lẻ bằng cách sử dụng một cái gì đó như: rake -I"lib:test" test/unit/foo.rb
hoặc sử dụng autotest
.
Tất cả đều rất lạ. Nó giống như các tập tin đang được nạp nhưng các bài kiểm tra đơn vị thực tế không được chạy.
Tôi đang sử dụng shoulda
và fast_context
và tôi nghĩ đây có thể là vấn đề, nhưng nếu tôi bao gồm kiểm tra đơn vị sử dụng cú pháp chuẩn def test_
thì vẫn không chạy được vì vậy tôi không nghĩ đó là những thứ đó.
Bất kỳ gợi ý hoặc con trỏ nào sẽ được đánh giá cao. Tôi cảm thấy như tôi đang mã hóa mù cho đến khi tôi có thể làm cho họ hoạt động trở lại!
Vì vậy, đây là nơi tôi bây giờ:
lý do tôi sử dụng bundler là để cài đặt phụ thuộc vào Heroku và vì tôi muốn sử dụng một viên ngọc có nguồn gốc từ một repo git trên github. Dài và ngắn của nó là tôi đã loại bỏ các preinitializer
cho bundler và đã quay trở lại sử dụng config.gem
. Để có được xung quanh thực tế là tôi không thể sử dụng một repo github sử dụng config.gem
Tôi đã đẩy ra bản sao của riêng tôi để rubygems. Đây có phải là động thái đúng không?
Đây là preinitializer.rb
begin
require "rubygems"
require "bundler"
rescue LoadError
raise "Could not load the bundler gem. Install it with `gem install bundler`."
end
if Gem::Version.new(Bundler::VERSION) <= Gem::Version.new("0.9.24")
raise RuntimeError, "Your bundler version is too old for Rails 2.3." +
"Run `gem install bundler` to upgrade."
end
begin
# Set up load paths for all bundled gems
ENV["BUNDLE_GEMFILE"] = File.expand_path("../../Gemfile", __FILE__)
Bundler.setup
rescue Bundler::GemNotFound
raise RuntimeError, "Bundler couldn't find some gems." +
"Did you run `bundle install`?"
end
Tôi không biết làm thế nào các tập tin .gems sẽ là hữu ích vì đó là một điều Heroku chỉ và tôi sẽ phải tìm thông qua git cho nó, nhưng đây là gemfile của tôi.
source :gemcutter
gem 'rails', '2.3.9'
gem 'pg'
gem 'minitest'
gem 'RedCloth'
gem 'erubis'
#gem 'memcached'
gem 'daemons'
gem 'resque'
gem 'inherited_resources', '1.0.6'
gem 'clearance', '0.8.8'
gem 'acl9'
gem 'sprockets'
gem 'aws-s3'
gem 'paperclip', '2.3.1.1'
gem 'rmagick', '2.12.2'
gem 'jonnii-cheddargetter', '0.1.3'
gem 'attribute_normalizer'
gem 'formtastic', '1.1.0.beta'
gem 'will_paginate', '2.3.14'
gem 'hoptoad_notifier'
gem 'mixpanel_client'
gem 'sunspot'
gem 'websolr-sunspot_rails'
gem 'geokit'
gem 'ri_cal'
gem 'jonnii-yelp'
group :development, :test do
gem 'test-spec'
gem 'shoulda'
gem 'redgreen'
gem 'factory_girl'
gem 'populator'
gem 'faker'
gem 'ZenTest'
gem 'autotest-rails'
gem 'webrat'
gem 'cucumber'
gem 'cucumber-rails'
gem 'database_cleaner'
gem 'parallel'
gem 'hydra'
gem 'heroku'
gem 'taps'
gem 'ruby-prof'
gem 'treetop'
gem 'rspec'
gem 'rspec-rails'
end
bạn sẽ gửi những dòng preinitializer và Gemfile (và .gems cũ tập tin) – marshally
lẽ không phải là một ý tưởng tốt đẩy phiên bản riêng biệt/cá nhân ra trên rubygems ... điều này có xu hướng dẫn đến phiên bản cũ, chưa sử dụng của đá quý mà không ai duy trì hoặc sử dụng. chỉ cần tải chúng tại địa phương hoặc cài đặt chúng trên hệ thống của bạn hơn là tùy thuộc vào lưu trữ đá quý. chỉ là những suy nghĩ của tôi – Lukas
Xin chào, tôi nhận thấy bạn đang sử dụng inherited_resources và đường ray 2.3 với trình chặn.Tôi gặp vấn đề khiến họ làm việc cùng nhau. Bạn đã bao giờ gặp phải bất kỳ vấn đề nào với điều đó chưa? – taelor