【问题标题】:How to test this with RSpec?如何使用 RSpec 进行测试?
【发布时间】:2011-07-19 22:09:46
【问题描述】:

使用 RSpec,我想测试是否在方法中调用了某些方法。以下面的示例类为例:

class Upload < ActiveRecord::Base
    def process
      case self.file_name
      when /\.html$/
        to_pdf
      end
    end
end

当在具有 file_name = 'foo.html' 的 Upload 实例上调用 process 时,我将如何测试是否调用了 to_pdf?如果可能的话,我想使用测试替身来做到这一点。

【问题讨论】:

    标签: ruby rspec


    【解决方案1】:
    instance = Upload.new
    instance.file_name = "foo.html"
    
    instance.should_receive(:to_pdf)
    
    instance.process
    

    【讨论】:

    • 谢谢!我正在做同样的事情,但使用了一个测试替身,并且遇到了一些我无法弄清楚如何修复的错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-30
    • 2017-07-22
    • 2019-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多