>rails -v
Rails 1.2.6
>ruby -v
ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32]
Когда я запускаю тестовое крепление (которое проверяет класс модели рельсов), как это, для начала выполнения этих тестов требуется 20-30 секунд (покажите «Загруженный набор ...»). Что дает?Почему тестовые тесты Test :: Unit запускаются так медленно?
>ruby test\unit\category_test.rb
require File.dirname(__FILE__) + '/../test_helper'
class CategoryTest < Test::Unit::TestCase
def setup
Category.delete_all
end
def test_create
obCategoryEntry = Category.new({:name=>'Apparel'})
assert obCategoryEntry.save, obCategoryEntry.errors.full_messages.join(', ')
assert_equal 1, Category.count
assert_not_nil Category.find(:all, :conditions=>"name='Apparel'")
end
#.. 1 more test here
end
Это рельсы с использованием базы данных MySql без каких-либо приспособлений. На этот раз он запустил 30 секунд + для запуска.
в test_helper.rb добавить "self.use_transactional_fixtures = true", и вы можете удалить delete_all в настройке. Я знаю, что вы не используете приборы, но эта строка гарантирует, что после каждого тестового запуска БД устанавливается в исходное состояние. Обратите внимание, что он не удалит данные, которые уже есть. – 2008-11-27 14:12:03
Вы используете окна? Я видел, что для загрузки рельсов env под окнами требуется 30 секунд, где один и тот же проект хотел бы 2 секунды на linux. – csexton 2008-11-29 16:44:23
Да. действительно .. см. выход версии ruby выше. i386-mswin32. – Gishu 2008-11-30 05:51:13