我需要为我的 rspec 定义 before(:each) 块,但是在这个块中,有一些变量应该由每个示例确定。我用谷歌搜索但没有找到这样做的方法。有人能给我举个例子吗?
before(:each) do
subject.stub(:abc) {double(price: 11)}
end
Run Code Online (Sandbox Code Playgroud)
这里的11实际上应该是每个例子给出的变量。
我有以下在 ruby 中工作的方法。基本上,它使用聚合框架在活跃的美国交易中选择按日销售量排序的前 k 笔交易。Deal 是 MongoDB 中的一个集合。
def top_daily_quantity(k)
match = { "$match" =>
{
country: "US",
active: true
}
}
project = {
"$project" => {
_id: 1,
sold_quantity: 1,
days: {"$divide" => [{"$subtract" => [Time.zone.now, "$start_at"]}, 3600*24*1000]}, #note days is in float
daily_quantity: {
"$divide" => [
{"$multiply" => ["$sold_quantity", 3600*24*1000]},
{"$subtract" => [Time.zone.now, "$start_at"]} # this difference is in ms
]
}
}
}
sort = { "$sort" => { daily_quantity: -1 } }
limit = …Run Code Online (Sandbox Code Playgroud)