Написание тестов для плагинов Rails - PullRequest
1 голос
/ 16 марта 2010

Я работаю над плагином для Rails, который бы добавил ограниченное кэширование в памяти для искателей ActiveRecord.Функциональность сама по себе достаточно развита, но я не могу на всю жизнь заставить юнит-тесты работать с плагином.

Теперь у меня в vendor / plugins / my_plugin / test / my_plugin_test.rb стандартный подклассActiveSupport :: TestCase с парой основных тестов.Я пытаюсь запустить 'rake test' из каталога плагинов, и я подтвердил, что эта задача загружает файл ruby ​​с тестовым примером, но на самом деле он не запускает ни одного из тестов.

Я следовал Railsруководство по плагину (http://guides.rubyonrails.org/plugins.html) там, где это применимо, но кажется, что оно ужасно устарело (оно предлагает то, что Rails теперь делает автоматически, и т. д.)

Единственный вывод, который я получаю, это:1010 *

Простейший тестовый пример выглядит следующим образом:

require 'test_helper'
require 'active_record'

class IngeniousRecordTest < ActiveSupport::TestCase  
  test "example" do
    assert false
  end
end

Это определенно должно дать хотя бы какой-то вывод, и единственный тест в этом файле должен выдать ошибочное утверждение.

Любые идеи, что я мог бы сделать, чтобы Rails запустил мои тесты?

Ответы [ 2 ]

5 голосов
/ 16 марта 2010

Я тестирую свои плагины с помощью задач rake плагина Engines:

rake test:plugins:all PLUGIN=myplugin

Я уверен, что вы можете сделать это без двигателей, но это вариант. Последние версии Rails (я все еще на 2.2.2) имеют встроенную поддержку двигателей.

3 голосов
/ 21 марта 2010

Очевидно, что есть небольшая проблема с rails 2.2.3, так как он не включает пакет / файл 'test / unit' в плагины. Чтобы исправить проблемы с плагином, просто добавьте в начало файла test_helper.rb следующее:

require 'test/unit'

Найден как билет на маяке .

...