Rake w Rails 3

Witam. Mam mały kłopot. Piszę aplikację typu api, chcę żeby była lekka więc w ładuję tylko potrzebne dla mnie skladniki railsów (Rails 3.0.3)
w application.rb

#require 'rails/all' require 'action_controller/railtie' require 'active_record/railtie' require 'active_support/railtie'
Wszystko pięknie tylko jedna pierdoła mnie męczy, polecenia
rake, rake test zwracają

wojtek:ktoro.pl wojtek$ rake test (in /Users/wojtek/ktoro.pl)
inne rake db:costam działają jak należy.
jeśli ładuje całe railsy to jest ok
Podpowiedzcie proszę bo odpalanie pojedynczo testów nie jest fajne.

A ile lekkości zyskujesz w pierwszym podejściu zważywszy na to że railsy 3 w wielu miejscach uzywają autload ?

Zawsze trochę szybciej się aplikacja ładuje, jak jest możliwość to czemu nie korzystać?

Dodaj jeszcze:

require "rails/test_unit/railtie"

To może się przydać przy testach :wink:

Miałem na myśli “mierzalnie” ile szybciej :slight_smile:

Bo jeśli tego trochę jest tak mało, że po 100 uruchomieniach jest go wciąż mniej niż czasu poświęconego na wprowadzenie tej zmiany przez programistę ?

Możesz policzyć :wink:

Szybki test (nie wiem jak miarodajny- nie znam się) wykonany narzędziem ApacheBench, jeden serwer aplikacji w trybie produkcyjnym.
Czas obsłużenia całości (1000 requestów):
17,2s - rails/all
13,2s - tylko active_record, action_controller, active_support
więc około 30%. Nie jestem ekspertem od testowania więc nie wiem czy to ma sens.

Dzięki @drogus o dziwo funkcjonalne i unit dzialają i bez tego, ale dodanie tego uzdrowiło polecenia rake test:***

Najprościej zrobić jakiegoś pustego rake taska i uruchomić

time rake do_nothing

Co do samego testu to zależy na czym to stoi i czy aplikacja była ubita między testami. Jeżeli to passenger, to wystartowanie jednego procesu aplikacji potrafi zająć kilka sekund, ale aż takiej różnicy bym się nie spodziewał.

Dla mnie to nie takie dziwne :wink:

https://github.com/rails/rails/blob/master/railties/lib/rails/test_unit/railtie.rb#L12 - kod railtie dla test unit :slight_smile: