最近テストが遅くて困っていて考えたのですが聞いてください
以下のようなspecをテストしたとします
before{ @player = Player.find(1) }
describe "レベルアップをすると、" do
before { @player.levelup! }
it "HPがレベルに応じて上昇している" { @player.max_hp.should==100 }
it "MPがレベルに応じて上昇している" { @player.max_mp.should==30 }
it "攻撃力がレベルに応じて上昇している" { @player.attack.should==30 }
it "防御力がレベルに応じて上昇している" { @player.defense.should==30 }
end
これって展開すると次のように動いてテストがされているのですがはっきりいって
殺意の湧くほど冗長ではないでしょうか?
before{ @player = Player.find(1) }
before{ @player.levelup! }
it "HPがレベルに応じて上昇している" { @player.max_hp.should==100 }
before{ @player = Player.find(1) }
before{ @player.levelup! }
it "MPがレベルに応じて上昇している" { @player.max_mp.should==30 }
before{ @player = Player.find(1) }
before{ @player.levelup! }
it "攻撃力がレベルに応じて上昇している" { @player.attack.should==30 }
before{ @player = Player.find(1) }
before{ @player.levelup! }
it "防御力がレベルに応じて上昇している" { @player.defense.should==30 }
正直、levelup!メソッドは1回だけ呼んでくれるようにRSpecに新しい書式が入れば
実効速度が劇的に上がるのですが
何方か興味あって作業とかする気ありませんか?