我TwitterAPI
定义了一个类,它与 Twitter 的 API 交互。模块中的方法进行两个单独的 API 调用。stub_request
因此,我在类的单元测试中的 before 块中定义了两个 WebMock TwitterAPI
。
我现在正在编写基于 capybara/rspec 的集成测试。一些测试场景涉及使用 Twitter API 数据的页面,例如:
feature 'View Twitter feed,' do
let(:twitter_feed_page) { TwitterFeedPage.new }
let(:user) { FactoryGirl.create :user }
scenario "Twitter feed is displayed" do
login(user)
twitter_feed_page.load
expect(twitter_feed_page).to have_text("Test tweet")
# etc.
end
end
我希望这些集成测试使用与我的单元测试相同的存根数据。所以 stub_requests 将在多个测试之间共享。我是否应该将我定义的 stub_requests 移动到我的rails_helper.rb
并拥有某种允许特定测试使用存根的标志?还是我应该将 stub_requests 复制/粘贴到集成测试本身?拥有多个存根请求副本并不是执行此操作的 DRY 方式,但似乎更容易阅读/理解存根是如何工作的。