Home > Testing > Aristocort 10mg Pills $104.00

Xenical 120mg Pills (Brand) 42 $179.00

Xenical 120mg pills (brand) 42 $179.00
Seit über einem Jahr entwickle ich Webanwendungen mit Ruby on Rails. Xenical 120mg pills (brand) 42 $179.00 Und seit dieser Zeit schreibe ich Tests für meine Anwendungen. Xenical 120mg pills (brand) 42 $179.00 Angefangen von Test::Unit über test/spec bis zu RSpec. Xenical 120mg pills (brand) 42 $179.00 Doch selten gingen mir Tests leicht von der Hand. Xenical 120mg pills (brand) 42 $179.00 Ständig stelle ich mir die Frage: Wie viel teste ich? Habe ich genug getestet? Teste ich schon Rails Code?

Xenical 120mg pills (brand) 42 $179.00 Die verschiedenen Test Frameworks haben ihre Vor- und Nachteile. Xenical 120mg pills (brand) 42 $179.00 Test::Unit ist relativ einfach und schnell. Xenical 120mg pills (brand) 42 $179.00 test/spec und RSpec hingegen deutlich lesbarer, xenical 120mg pills (brand) 42 $179.00 jedoch auch langsamer. Xenical 120mg pills (brand) 42 $179.00 Sie eigenen sich deshalb besser, xenical 120mg pills (brand) 42 $179.00 um die Tests als Dokumentation zu verwenden. Xenical 120mg pills (brand) 42 $179.00 Test::Unit und test/spec verwenden für Viewtests den Umweg über die Controller, xenical 120mg pills (brand) 42 $179.00 was sie im Vergleich zu RSpec deutlich langsamer macht. Xenical 120mg pills (brand) 42 $179.00 In Rspec testet man jede Schicht des MVC Musters separat. Xenical 120mg pills (brand) 42 $179.00 Das Verhalten der jeweils anderen Schichten wird mit Mocks und Stubs simuliert. Xenical 120mg pills (brand) 42 $179.00 Integration Tests mit Cucumber testen dann das Zusammenspiel aller Schichten.

Xenical 120mg pills (brand) 42 $179.00 Carlos Dandos und José Valims Remarkable ist das mit Abstand großartigste Plugin für Ruby on Rails, xenical 120mg pills (brand) 42 $179.00 was mir seit langem über den Weg gelaufen ist, xenical 120mg pills (brand) 42 $179.00 denn es reduziert Tests auf das nötigste! Man schreibt in unglaublich expressiver Form, xenical 120mg pills (brand) 42 $179.00 was das erwartete Verhalten ist. Xenical 120mg pills (brand) 42 $179.00 Das auf RSpec basierende Remarkable testet mit einer Vielzahl von Custom Matchers die Erwartung ab.

Xenical 120mg pills (brand) 42 $179.00

Xenical 120mg pills (brand) 42 $179.00 Ein Beispiel für ein Model Validation Test in Test::Unit

class UserTest < Test::Unit
  def test_user_not_valid_if_name_is_blank
    user = User.create
    assert user.invalid?
    assert_equal :blank, xenical 120mg pills (brand) 42 $179.00 :user.errors[:name]
  end
end

Xenical 120mg pills (brand) 42 $179.00 Ein Beispiel für ein Model Validation Test in test/spec

context 'User validations' do
  specify 'user should not be valid if name is blank' do
    user = User.create
    user.should.not.be.valid
    user.errors[:name].should == :name
  end
end

Xenical 120mg pills (brand) 42 $179.00 Ein Beispiel für ein Model Validation Test in RSpec

describe User do
  it 'should not be valid if name is blank' do
    user = User.create
    user.should_not_be_valid
    user.errors[:name].should == :blank
  end
end

Xenical 120mg pills (brand) 42 $179.00 Und jetzt der gleiche Test mit Remarkable:

describe User do
  it { should validate_presence_of(:name) } # RSpec syntax
  should_validate_presence_of :name # Remarkable macro syntax
end

Xenical 120mg pills (brand) 42 $179.00 Ok, xenical 120mg pills (brand) 42 $179.00 was musst du tun, xenical 120mg pills (brand) 42 $179.00 um Remarkable verwenden zu können? Falls noch nicht geschen, xenical 120mg pills (brand) 42 $179.00 solltest du das Gem Verzeichnis von Github als Quelle für weitere Gems lokal registrieren:

sudo gem sources -a http://gems.github.com

Xenical 120mg pills (brand) 42 $179.00 Danach müssen die benötigten Gems installiert werden:

sudo gem install rspec -v 1.2.6
sudo gem install rspec-rails -v 1.2.6
sudo gem install remarkable_rails

Xenical 120mg pills (brand) 42 $179.00 Für alle, xenical 120mg pills (brand) 42 $179.00 die noch eine Rails Version < 2.2 verwenden müssen zusätzlich den I18n Backport von Sven Fuchs installieren:

sudo gem install svenfuchs-i18n

Xenical 120mg pills (brand) 42 $179.00 Abschließend müssen im Rootverzeichnis des entsprechenden Rails Projektes noch einige helper scripte generiert werden:

ruby script/generate rspec

Xenical 120mg pills (brand) 42 $179.00 Welche Matcher bringt Remarkable mit?

  • Matcher für alle Validierungen mit allen Optionen
  • Matcher für alle Assoziationen mit fast allen Optionen
  • Named Scopes und Massenzuweisungsmatchern
  • Datenbank Matcher für Indexes usw.

Xenical 120mg pills (brand) 42 $179.00 Ein typischer Unit Test mit Remarkable könnte so aussehen:

require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')

describe User, xenical 120mg pills (brand) 42 $179.00 'validations' do
  should_validate_presence_of   :username, xenical 120mg pills (brand) 42 $179.00 :email, xenical 120mg pills (brand) 42 $179.00 :password
  should_validate_length_of     :username, xenical 120mg pills (brand) 42 $179.00 :minimum => 6
  should_validate_acceptance_of :agreement
end

describe User, xenical 120mg pills (brand) 42 $179.00 'associations' do
  should_have_many :images
  should_have_many :posts
  should_have_one  :profile
end

describe User, xenical 120mg pills (brand) 42 $179.00 'database' do
  should_have_column :activated, xenical 120mg pills (brand) 42 $179.00 :type => :boolean
  should_have_index  :username
end

describe User, xenical 120mg pills (brand) 42 $179.00 'named scopes' do
  should_have_scope :with_image, xenical 120mg pills (brand) 42 $179.00 :joins => :images
  should_have_scope :activated, xenical 120mg pills (brand) 42 $179.00  :conditions => { :activated => true }
end

Xenical 120mg pills (brand) 42 $179.00 Und von nun an möchte ich nicht mehr hören, xenical 120mg pills (brand) 42 $179.00 dass testen zu schwer sei. Xenical 120mg pills (brand) 42 $179.00 Alles Ausreden!

Xenical 120mg pills (brand) 42 $179.00 In diesem Sinne, xenical 120mg pills (brand) 42 $179.00 Test frei.

Average Rating: 4.5 out of 5 based on 254 user reviews.

  1. Bisher keine Kommentare
  1. Bisher keine Trackbacks