努力載入中

RSpec mock code block 的方法

2020-07-16

假設在 Abc class 定義了有 code block 的 method foo,想測試 foo 的 code block ,但需要跳過 foo 的執行:

class Abc
  def foo(x, y)
    ...
    yield(m, n)
    ...
  end
  
  def bar
    foo(x, y) do |m, n|
      # 想要測試這裡面的執行結果
    end
  end
end

RSpec 如下

allow(Abc).to receive(:foo) do |x, y, &block|
  ....
  block.call(m, n)
  ....
end
Abc.new.bar

相關文章

設定電子郵件 DKIM

設定電子郵件 DKIM

以 AWS SES 和 Gmail 為例,說明如何設定 DKIM,並且提供相關檢測工具。DKIM 除了需要透過 DNS TXT 設定完,需要先申請好簽署用的金鑰。
正念冥想使用心得

正念冥想使用心得

在實行正念冥想後一年半的日子裡,所獲得的體悟,以及對生活和工作上的改變,同時分享正念冥想的一些小技巧。
用 AWS Transfer + S3 架設 FTP

用 AWS Transfer + S3 架設 FTP

本篇文章將一步步教學如何利用 AWS 架設 FTP,使用的服務包含 AWS Transfer 、S3、SNS(Simple Notification Service)。實現檔案傳輸,以及被動獲得檔案上傳的通知。
Sidekiq 介面壞掉

Sidekiq 介面壞掉

很久以前修過的問題,再次出現時,又忘了為何如此,所以這次完整把 Sidekiq web 介面遇到的壞掉問題修復方式完整記錄起來。