Тестирование разветвленных рубиновых гемов / плагинов на GitHub - PullRequest
1 голос
/ 27 февраля 2011

Это кажется простым вопросом, но я нигде не нашел ответа.

Я раздобыл этот драгоценный камень на GitHub: https://github.com/kjvarga/sitemap_generator и git клонировал форк на мою локальную машину.

Я еще не внес в него никаких изменений, но хочу выяснить, как запустить тесты на нем, поэтому, когда я его изменю, я могу убедиться, что они все еще проходят.

Похоже, что он использует rspec, и в spec / sitemap_generator есть несколько файлов rspec. Итак, я попытался запустить rspec spec/sitemap_generator/*, но я получаю это:

barmstrong:sitemap_generator$ rspec spec/sitemap_generator/*
/Users/barmstrong/.rvm/gems/ruby-1.8.7-p334/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:156:in `require': no such file to load -- rspec/core/mocking/with_mocha (MissingSourceFile)
    from /Users/barmstrong/.rvm/gems/ruby-1.8.7-p334/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:156:in `require'
    from /Users/barmstrong/.rvm/gems/ruby-1.8.7-p334/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:521:in `new_constants_in'
    from /Users/barmstrong/.rvm/gems/ruby-1.8.7-p334/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:156:in `require'
    from /Users/barmstrong/.rvm/gems/ruby-1.8.7-p334/gems/rspec-core-2.5.1/lib/rspec/core/configuration.rb:164:in `mock_framework='
    from /Users/barmstrong/.rvm/gems/ruby-1.8.7-p334/gems/rspec-core-2.5.1/lib/rspec/core/configuration.rb:123:in `mock_with'
    from /Users/barmstrong/NetBeansProjects/sitemap_generator/spec/spec_helper.rb:22
    from /Users/barmstrong/.rvm/gems/ruby-1.8.7-p334/gems/rspec-core-2.5.1/lib/rspec/core.rb:56:in `configure'
    from /Users/barmstrong/.rvm/gems/ruby-1.8.7-p334/gems/rspec-core-2.5.1/lib/rspec/core/backward_compatibility.rb:29:in `configure'
    from /Users/barmstrong/NetBeansProjects/sitemap_generator/spec/spec_helper.rb:21
    from /Users/barmstrong/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:29:in `gem_original_require'
    from /Users/barmstrong/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:29:in `require'
    from /Users/barmstrong/NetBeansProjects/sitemap_generator/spec/sitemap_generator/interpreter_spec.rb:1
    from /Users/barmstrong/.rvm/gems/ruby-1.8.7-p334/gems/rspec-core-2.5.1/lib/rspec/core/configuration.rb:386:in `load'
    from /Users/barmstrong/.rvm/gems/ruby-1.8.7-p334/gems/rspec-core-2.5.1/lib/rspec/core/configuration.rb:386:in `load_spec_files'
    from /Users/barmstrong/.rvm/gems/ruby-1.8.7-p334/gems/rspec-core-2.5.1/lib/rspec/core/configuration.rb:386:in `map'
    from /Users/barmstrong/.rvm/gems/ruby-1.8.7-p334/gems/rspec-core-2.5.1/lib/rspec/core/configuration.rb:386:in `load_spec_files'
    from /Users/barmstrong/.rvm/gems/ruby-1.8.7-p334/gems/rspec-core-2.5.1/lib/rspec/core/command_line.rb:18:in `run'
    from /Users/barmstrong/.rvm/gems/ruby-1.8.7-p334/gems/rspec-core-2.5.1/lib/rspec/core/runner.rb:55:in `run_in_process'
    from /Users/barmstrong/.rvm/gems/ruby-1.8.7-p334/gems/rspec-core-2.5.1/lib/rspec/core/runner.rb:46:in `run'
    from /Users/barmstrong/.rvm/gems/ruby-1.8.7-p334/gems/rspec-core-2.5.1/lib/rspec/core/runner.rb:10:in `autorun'
    from /Users/barmstrong/.rvm/gems/ruby-1.8.7-p334/bin/rspec:19
barmstrong:sitemap_generator$

Запуск bundle install или gem install mocha, похоже, не помог.

Я не очень знаком с rspec (обычно просто используйте rake test для тестирования приложений rails с ActiveSupport :: TestCase). Есть предложения?

Ответы [ 2 ]

2 голосов
/ 27 февраля 2011

Комментарий Йорг, приведенный выше, привел к правильному ответу. Просто запустить rake test сделал то, что хотел. Упс!

1 голос
/ 27 февраля 2011

Обязательно используйте bundle exec для запуска Rspec.Похоже, что просто rspec запускает версию 2.5.1, установленную в вашей системе, тогда как bundle exec rspec... должен запускать версию 1.3.0 Rspec, которая требуется для Gemfile гема.

bundle exec rspec spec
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...