私はちょうどテストに入っています。RSpec仕様の手順を書く方法が不思議です。ログインなどの機能を再利用することができます。rspec-railsで手順を書いていますか?
0
A
答えて
3
通常、テストは互いに独立している必要があります;あなたのテストの多くが同じことをする必要がある場合、それは彼らがいくつかの仕事を複製していることを示唆しています。しかし、それは避けられないこともあります。たとえば、認証されたものをテストするために、ログインしているユーザーを手軽にする必要があることがよくあります。
特にRubyテストの場合、誰かがあなたが望む特定の問題を解決するために既にライブラリを作成している可能性が非常に高いです。たとえば、操作が適切にテストされる前にいくつかのデータが必要であることが非常に一般的です。そのため、factory_girlが存在します。
ユーザーが実際に行うすべての手順を実行する動作駆動型統合テストを実行する場合は、代わりにCucumberを使用する必要があります。
あなたが別の場所間でメソッドを再利用する場合は、あなたがspec/support
で共有コードを置くことができます。
# spec/support/consumable_helper.rb
module ConsumableHelper
def consume(consumable)
calories = consumable.om_nom_nom
end
end
RSpec.configure do |config|
config.include ConsumableHelper
end
をあなたは、複数の地域で同じ動作をテスト使用したい場合はshared_examples_for
とit_behaves_like
:
shared_examples_for "a Consumable" do
it "should be delicious" do
subject.should be_delicious
end
it "should provide nutrition" do
subject.calories.should > 0
end
end
describe Fruit do
it_behaves_like "a Consumable"
end
describe Meat do
it_behaves_like "a Consumable"
end
関連する問題
- 1. この手順で何が間違っていますか?
- 2. voltdbのデフォルト手順はパーティション化されていますか?
- 3. は、私は、次の手順をしています。ネットコアは
- 4. 手順は、私は、このリンクの手順に従っていXcodeの5
- 5. 手順は、私は、単純な「Hello World」の手順を記述しようとしています
- 6. ユーザーをログアウトする正しい手順
- 7. あまりにも多くの手順を行っていますか?
- 8. 手順設計の文書化戦略
- 9. gfortranはタイプバインドの手順が間違っています
- 10. Nagiosプラグインをインストールする - インストール手順の手順がありませんか?
- 11. 手順はレポートに含まれていません
- 12. 新しい2017 Google PlayのアンドロイドAPKファイルへの署名手順、手順を教えてください。
- 13. Oracleを書く手順選択で使用するアイテムのリスト
- 14. git:2つのブランチをマージします。正しい手順は何ですか?
- 15. スタックトレースに手順がないのはなぜですか?
- 16. Python/C++ハイブリッドを書くためのリンク手順を理解しようとしています
- 17. 手順
- 18. 手順
- 19. 手順
- 20. Javascript:いくつかの手順でテキストを表示
- 21. いくつかの手順でHDFSファイルに書き込むのが効率的ですか?
- 22. 開いているファイルの再現手順
- 23. 要求がログアウト手順中に送信されていない
- 24. web2pyで手動で書式を書いてイメージをアップロードするには?
- 25. python辞書で順序付けされていないアイテムをregex storeに置いてfindallしますか?
- 26. ClearCaseからアプリケーションを削除する際の正しい手順
- 27. 手順上の迷路から古いコライダーを削除する
- 28. MapViewの作成に欠けていた主な手順は何ですか?
- 29. epicorに保存されている手順はどこですか
- 30. 手順エラーORA-00918:列はあいまい
右、+1、docここに:http://rspec.info/documentation/ – apneadiving
無関係の副メモ。私は不定な記事を使用することを好む... 'shared_examples_for" Consumable "と' it_behaves_like "Consumable"。私はちょうどDSLがより良く読むことを見つける:) – d11wtq