测试目录与Rspec一起存在

use*_*221 13 ruby testing rspec ruby-on-rails

我正在测试lib/pdf_helper.rb.所以我创建spec/lib目录.然后我pdf_helper_spec.rbspec/lib目录中创建一个文件.因为我正在测试pdf文件夹应该在公共文件夹中,这是我的代码

require 'spec_helper'
require 'pdf_helper'

    describe "Pdfhelpers" do
        it "Should be in public folder" do
        file = File.new ("#{Rails.root}/public/pdf")
        if File.exist?(file) == 'true'
            puts "Success"
        else
            puts"failed"
        end


    end
  end
Run Code Online (Sandbox Code Playgroud)

我对吗??我是RSpec的新手.

elh*_*yos 24

expect(File).not_to exist("#{Rails.root}/public/pdf")
Run Code Online (Sandbox Code Playgroud)

适用于文件和文件夹.


Tre*_*kaz 9

事实证明,对于这类事情,路径名也具有相当的可读性。

require 'pathname'

# ...

expect(Pathname.new('file.txt')).to exist
expect(Pathname.new('file.txt')).to be_file
expect(Pathname.new('dir')).to be_directory
Run Code Online (Sandbox Code Playgroud)


小智 4

如果您想知道文件是否是目录,则可以使用该File.directory?函数。