私は単純なFileCreator
Rubyクラスの1つのメソッドcreate
私のデスクトップ上に空のtxtファイルを作成する方法があります。 RSpecを使用して、ファイルを作成せずにファイルが作成されたことを確認するために、この作成メソッドをテストするにはどうすればよいでしょうか? RSpec::Mocks
を使用しますか?誰かが正しいディレクトリに私を向けることができますか?ありがとう! RSpecでファイル作成をテストする方法は?
4
A
答えて
7
file_creator.create(100)
を呼び出した後、あなたはすべてのFile*.txt
ファイルのフォルダを検索し、カウント一致を確認してください可能性があります。 (完了後にあなたの仕様にテストファイルを削除させてください)。モックを使用して
Dir.glob(File.join(File.expand_path("~/Desktop"), "File*.txt")).length.should == 100
:あなたはFile.open
方法が実際に(ただし、ファイルが実際に作成されますことをテストするために呼び出されていることを確認するために、このような何かを行うことができ、あなたは、実際には最初のようなファイルを作成することを検討することをお勧めします私の答えの半分)。
File.should_receive(:open).exactly(100).times
2
FakeFSのようなものを実際のファイルシステムに適用してみることもできます。
0
それを行うための最も簡単な方法は以下の通りです:
FileCreator.count.should eq 100
関連する問題
- 1. rspecでMongoid :: Observerをテストする方法
- 2. rspec - テストをパスする方法
- 3. RubyでRSpecテスト間でモジュールをリロードする方法は?
- 4. rspecでActiveRecordsのコレクションをテストする方法は?
- 5. rails cucumber、rspec、capybaraのビュー(dhtml)でダイナミックパーツをテストする方法は?
- 6. RSpecでシグナルハンドリングをテストする方法、特にSIGTERMを扱う方法は?
- 7. フォームパスを確認するためのrspecテストの作成
- 8. RspecテストCSVファイルのダウンロード
- 9. Sinatraでrspecとラックテストを使ってヘッダをテストする方法
- 10. FabricationとRSpecを使用してhas_and_belongs_to_many(HABTM)の関連付けを作成しテストする方法は?
- 11. レールでrspecテストのためにfind_eachをスタブする方法3
- 12. rspec 1.3.0/capybara 0.3.9/seleniumでファイルのダウンロードをテストするには?
- 13. Rails、Paperclip、RSpec要求仕様でファイルをテストするには?
- 14. RSpecのattr_accessibleフィールドのテスト方法
- 15. ファイルを作成してtmpファイル名を作成する方法
- 16. rspec +製作で簡単なテストを実行するには?
- 17. RSpecでこれをテストするには?
- 18. RSpecでプッシャーをテストするには
- 19. Rspecでバックグラウンドジョブ(Sidekiq)をテストするには?
- 20. RSpecのテストは
- 21. rSpecでdelayed_jobチェーンをテストする最良の方法は何ですか?
- 22. テストPHP JPGファイルを作成する
- 23. RSpecを使用して電子メールヘッダーをテストする方法
- 24. Rails 3.2でユーザーの動作を制限するコントローラをテストするRSpecテスト
- 25. RspecでActiveRecordコールバックをテストするきれいな方法はありますか?
- 26. rspecテストでApplicationControllerのrescue_fromを無視する方法はありますか?
- 27. rspecテストでgmaps4railsジオコード関数をスタブする方法はありますか?
- 28. java(フォルダではない)でファイルを作成する方法は?
- 29. AngularJSで単体テストとe2eテストを構成する方法は?
- 30. Rspecを使用した「投稿作成」のテスト
私はそれをしなければならないと考えました方法であること。私が疑問に思っていたのは、モックオブジェクトや何かを使う方法があるので、最初にファイルを作成する必要がないということでした。 – agentbanks217
ちょうど私の答えを編集しました:モック。 –
ありがとうございました!!! – agentbanks217