Uaktualniłem moją aplikację, używając config.gem
do Gemfile
z pakerem i zauważyłem, że moje testy jednostkowe przestały działać. To trochę dziwne i nie jestem do końca pewien, gdzie zacząć szukać.Prowizja nie uruchamia testów jednostkowych
Po uruchomieniu rake test:units --trace
widzę, że moje środowisko jest instalowane i zawiera listę plików, które zamierza wykonać, ale potem po prostu wraca.
Robi to samo, jeśli próbuję uruchomić jeden pojedynczy plik przy użyciu czegoś takiego jak: rake -I"lib:test" test/unit/foo.rb
lub przy użyciu autotest
.
To wszystko bardzo dziwne. To tak, jakby pliki były ładowane, ale rzeczywiste testy jednostkowe nie są uruchamiane.
Używam shoulda
i fast_context
i pomyślałem to może być problem, ale jeśli to badanej jednostki przy użyciu standardowego def test_
składni jeszcze nie się uruchomić, więc nie sądzę, że to te.
Wszelkie wskazówki i wskazówki byłyby mile widziane. Czuję, że piszę ślepo, póki nie sprawię, że znów będą działać!
Tak tu gdzie jestem teraz:
Moje powody korzystania Bundler dotyczą instalowania współzależności na Heroku i dlatego chciałem użyć gem pochodzą z repo git na github. Najdłużej i najkrócej to, że usunąłem preinitializer
dla bundler i wróciłem do korzystania z config.gem
. Aby obejść fakt, że nie mogę użyć repozytorium github przy użyciu config.gem
, wysłałem własną kopię do rubygems. Czy to był właściwy ruch?
Oto 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
Nie wiem, jak plik .gems byłoby przydatne, ponieważ jest to jedyna rzecz Heroku i będę musiał polować przez git dla niego, ale tutaj jest mój gemfile.
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
chcesz pisać wiersze preinitializer i Gemfile (i stare .gems pliku) – marshally
prawdopodobnie nie dobry pomysł wypychania osobnych/osobistych wersji na rubygemach ... to prowadzi do starych, nieużywanych wersji klejnotów, których nikt nie utrzymuje ani nie używa. po prostu pobierz je lokalnie lub zainstaluj je w swoim systemie, a nie w zależności od hostingu klejnotów. tylko moje myśli – Lukas
Hej tam, zauważyłem, że używasz dziedziczone_resources i tory 2.3 z bundler.Mam problemy z doprowadzeniem ich do wspólnej pracy. Czy kiedykolwiek miałeś z tym problemy? – taelor