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.
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ł.