如何使用RSpec模拟动态值?

时间:2015-05-08 23:32:04

标签: ruby rspec mocking

RSpec模拟可以返回多个值。

allow(clock).to receive(:time).and_return Time.now.to_i

如何返回动态值,例如:

time

始终返回第一个值。

是否可以让它评估每次调用Foreach ($Computer in Get-ADComputer -Filter *){ $Path=$Computer.Path $Name=([ADSI]"$Path").Name write-host $Name $members =[ADSI]"WinNT://$Name/Administrators" $members = @($members.psbase.Invoke("Members")) ForEach($member in $members){ Write-Host $member.GetType().InvokeMember("Name", 'GetProperty', $null, $member, $null) Write-Host $member.GetType().InvokeMember("AdsPath", 'GetProperty', $null, $member, $null) } } 的表达式?

1 个答案:

答案 0 :(得分:3)

只需删除and_return并传入阻止:

allow(clock).to receive(:time) do
  Time.now.to_i
end