2016-09-28 8 views
2

これは、ディレクトリを作成する方法です。rspecでディレクトリの作成をどうやって模擬できますか?

def create_directory(path) 
    system 'mkdir', '-p', path 
end 

私はこのメソッドのrspecを作成し、ディレクトリの作成を模擬するためにfakefsを使用。

it 'should create directory given path as parameter' do 
    FakeFS do 
     create_directory(DIRECTORY_PATH) 
    end 
    expect(File.exists?(DIRECTORY_PATH)).to be_truthy 
end 

rspecコマンドを実行すると、このエラーが発生します。

Failures: 

     1) common Test for common method use should create file given file as parameter 
     Failure/Error: expect(File.exists?(DIRECTORY_PATH)).to be_truthy 

      expected: truthy value 
       got: false 
     # ./spec/unit/lib/common_spec.rb:16:in `block (3 levels) in <top (required)>' 

    Finished in 0.01474 seconds (files took 0.10763 seconds to load) 
    2 examples, 1 failure 

    Failed examples: 

    rspec ./spec/unit/lib/common_spec.rb:12 # common Test for common method use should create file given file as parameter 

rspecまたはfakefsを使用してディレクトリを作成する方法を模擬する方法はありますか。

+0

あります**ありません**ご質問に –

+0

こんにちは@AndreyDeineko、私は質問を追加しました。ありがとう – micmicsuarez

答えて

3
  1. ruby toolsを使用して、砲撃する代わりにディレクトリを作成します。
  2. あなたの期待をfakefsブロックに移してください。
+0

こんにちは@Sergio、アドバイスありがとう。 rspecで正しく動作します。 – micmicsuarez

+0

@micmicsuarez:仕様は今動作していますか? –

+0

はい、動作します。私はちょうどあなたの推奨に従った。ヘルプ@Sergioをありがとう。 – micmicsuarez

関連する問題