2008-09-26 14 views

答えて

6

CucumberおよびRSpecのようになります。彼らは、サンプルベースのスタイルbehaviour-drivenでのテストを推奨します。

RSpecのは、ユニットレベルのテストのためのライブラリです:

describe "hello_world" 
    it "should say hello to the world" do 
    # RSpec comes with its own mock-object framework built in, 
    # though it lets you use others if you prefer 
    world = mock("World", :population => 6e9) 
    world.should_receive(:hello) 
    hello_world(world) 
    end 
end 

それはRailsのための特別なサポートを持っている(例えば、それは単独でのモデル、ビュー、コントローラをテストすることができます)とRailsに組み込まれ、テストメカニズムを置き換えることができます。 (以前はRSpecのストーリーランナーとして知られている)

キュウリはあなたが顧客をに見せる(とに同意する)ことができることを(かなり)平易な英語でのハイレベルな受け入れテストを書くことができますし、それらを実行します。

Story: Commenting on articles 

    As a visitor to the blog 
    I want to post comments on articles 
    So that I can have my 15 minutes of fame 

    Scenario: Post a new comment 

    Given I am viewing an article 
    When I add a comment "Me too!" 
    And I fill in the CAPTCHA correctly 
    Then I should see a comment "Me too!" 
+0

受け入れテストの第2のAPIはRSpecから取り出され、現在は「キュウリ」と呼ばれています。 –

+0

ありがとうございます - 私は最新の回答を得るために編集しました。 –

4

私は、組み込みのレールユニット/機能テスト用のものを(真剣に)バイパスし、RSpecのためにまっすぐに行くことを勧めます。

ビルドされたレールのものは、Rubyとともに出荷され、JUnit/NUnit/AnyOtherUnitのまっすぐなポートであるTest::Unitフレームワークを使用しています。
これらのフレームワークは、すべて面倒で迷惑なものであることがわかりました。単体テストの作成についての一般的な無関心につながりました。明らかに、ここで習得しようとしているものではありません。

RSpecのは、あなたのコードではなく、それはすでにを何主張するよりも、何をすべきかを記述する中心とされている別の獣です。テストをどのように見えるかが変わり、あなたはそれをやるほうがずっと楽しいでしょう。

ファンポーズのように聞こえるのは、私が本当にRSpecが良いと信じているからです。私は単体/ rspecのために単なる信者に、単体テスト/機能テストに迷惑で疲れてしまった。

+0

Test :: UnitとRSpecはちょうどツールであり、値は使用方法です。 RSpecでできることはTest :: Unitで行うことができます。 BDDはTDDよりも改善されています。これは、あなたがテストで何をしていたはずなのかを明確な言語で指摘しているからです。 http://dannorth.net/introducing-bdd –

+0

を参照してください。これは私の要点です。私が望むなら、私はx86アセンブラですべてのテストを書くことができました。その価値はあなたの思考にどのように影響するのかにあります。したがって、より良いテストを生み出すのに役立ちます –

4

すでにアプリケーションを作成しているようですが、RSpecTest::Unitより大きいボーナスにすることはできません。

どちらを選択しても、フィクスチャとモックの管理(テスト用の「データ」)という別の問題がすぐに発生します。だからShouldaFactory Girlを見てください。

0

すでにアプリが書かれていても、アプリケーションがまだ終了していないという単純な事実のために、Test :: UnitにRSpecを使うことをお勧めします。あなたは、機能とリファクタリングコードを追加したいと思うでしょう。これらの変化は、苦痛が少ないのに役立ち、早期の右テスト習慣をします取得

1

また、FirefoxでWebインターフェイスをテストすることができカチッと音がしてテキスト入力を記録するよう

http://selenium.openqa.org/ようにプラグインしてから再生適切な表示要素をページで確認します。

関連する問題