簡體   English   中英

如何使ruby方法在每個[給定,何時,然后]步驟之前和之后運行?

[英]How to make ruby methods run before and after each [given, when, then] step?

我正在嘗試獲取一些易於理解的時間指標,以了解每種情況下需要花多長時間才能運行。

我有將行插入到日志表中的方法,如下所示:

puts "#{Time.now} - Starting Given"

puts "#{Time.now} - Ending Given"

etc...

我希望在每個步驟的開始和結束時自動調用它們,但是我只能找到在整個方案之前或之后而不是每個步驟運行它們的方法。

有沒有辦法做到這一點?

Ruby帶有一個基准測試模塊,可以很輕松地為您處理這些工作。

編輯以解決以下評論

在Cucumber中,有一個名為Around的鈎子,可讓您根據需要包裝方案。 例如,直接來自文檔:

Around('@fast') do |scenario, block|
  Timeout.timeout(0.5) do
    block.call #actually runs the scenario
  end
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM