【发布时间】:2013-12-11 16:36:02
【问题描述】:
在我的应用中,当用户分享某些内容时,他的评分会增加。当他尝试分享某样东西两次时,他将不会在第二次尝试时获得额外评分。对于应用程序,共享回调是由客户端用JS触发的,所以它只是一个常规的GET请求。所以,我需要测试这个功能。这简单。但是我有几个部分有这种行为。该部分中的每个控制器都有名为“rating_from_share”的方法,因此测试非常相似。我认为在混合中提取该测试并将它们包含在应有的位置是个好主意,但我无法弄清楚,我该怎么做。 那么,在 RSpec 测试中包含与 RSpec 的混合是真的吗?也许某种元编程可以解决这个问题?
附: “rating_from_share”方法的实现并不完全相同,只是输出结果,所以我不能将它聚合到一个超类并在这里测试它们。
编辑:
根据 Vimsha 的回答,我应该这样做吗?
Module Share
def share
it 'should be fun'
expect(@fun.isFun?).toBe == 'yup' # the @fun is declared in ShareTest
end
end
end
describe "Share Test" do
extend Share
before :each do
@fun = Fun.new
end
it 'should do test' do
share # call method from Share module, which has real RSpec code?
end
end
代码就写在这里,我只是想明白。
【问题讨论】:
标签: ruby-on-rails rspec mixins