私はSinatraのために書かれたREST APIを持っています - 私はいくつかの良い単体テストを作りたいと思っています。RailsまたはSinatra用に作成されたRESTful APIの単体テスト用のオプションは何ですか?
2
A
答えて
3
2
退屈な古いRSpecやTest :: Unitを使っています。努力の20%でテストカバレッジの80%を取得するには、あなたのUIの下でテストしてください。 100%テストカバレッジは目標ではなく、ソフトウェアは動作します。あなたのテストは、アプリケーションの "ビジネスルール"を検証し、残りはリスクの低いUIのものです。
ローンの支払いを見積もるためのアプリケーションを作成しているとします。
あなたのテストでは、このようになります:あなたはLoanCalculator
作品を知っていたら
describe LoanCalculator do
it "Estimates monthly payments given a loan amount, interest rate, and term" do
LoanCalculator.new.estimate_payment(10000, 5, 48).should == 230.00
end
end
は、あなたは単にそれに委譲するためにあなたのシナトラアプリを記述します。
あなたは明らかにテスト中のシステムでより多くを持っているでしょう、より複雑なシステムでget '/loan_calculator' do
@loan_amount = params[:amount]
@rate = params[:rate]
@term = params[:term]
@result = LoanCalculator.new.estimate_payment(@loan_amount, @rate, @term)
erb :loan_calculator_results
end
が、薄く、SUT内のすべてのロジックが複雑の面倒をすべてずにあなたに巨大な利益を得るでしょう、あなたのUIを維持フレームワーク。
希望に役立ちます。
ブランドン
関連する問題
- 1. Lucene単体テスト用の壊れたインデックス
- 2. MSTest:TestContextを使用した単体テストの作成
- 3. XMLを受け取り、解析するライブラリの単体テスト用に作成するテストは何ですか?
- 4. 単体テスト、方法、またはシナリオで何をテストするのですか?
- 5. テスト用のC++単体テスト(合成ベンチマーク)
- 6. SinatraまたはMerbを使用するシナリオは何ですか?
- 7. Dartの単体テストを作成する最良の方法は何ですか?
- 8. specflowで生成された単体テストにXunit TraitAttributeを追加するには
- 9. Rubyで単体テスト用のダミーサーバを作成する
- 10. REST APIの単体テストを作成する最良の方法は何ですか?
- 11. Janrain Capture RESTful APIを使用したユーザー/エンティティの作成
- 12. 単体テスト用のapp.configファイルの操作
- 13. 単体テストWeb APIのカスタムルート
- 14. Rhino Mockを使用した単体テスト
- 15. RailsはAJAXで生成されたRESTfulな部分にユーザーをリダイレクトします
- 16. RailsでJSONを使用したネストされたオブジェクトの作成
- 17. Visual Studio単体テストで使用する模擬オブジェクトを作成する「優先」方法とは何ですか?
- 18. REST API用のRubyで単体テストを書く
- 19. HSQLDB単体テスト用
- 20. scrapy imagepipline:簡単な例が作成されました。実行する/テストするコマンドは何ですか?
- 21. Satchmo単体テストは単独で実行されます
- 22. 単体テストの用語
- 23. RESTful APIを作成するには?
- 24. WCFまたはASP.Net Web APIを使用したRESTful APIのバージョニングの実装
- 25. iphoneアプリケーションの単体テストに最適なツールは何ですか?
- 26. Androidアプリの単体テストに最適なツールは何ですか?
- 27. NServiceBus Sagaの単体テストを作成するには?
- 28. 単体テストの模擬テストと分離された条件
- 29. GrailsプロジェクトでのJava単体テストの規約は何ですか?
- 30. j2meでゲームアプリケーションを作成するために使用されるAPIは何ですか?
これは良いものです。ありがとう! – RTIndy