大佬教程收集整理的这篇文章主要介绍了ruby-on-rails-3 – 如何使用rspec capybara重用不同功能中的场景,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
例如,我有一些场景涉及用户访问某些页面并期望某些ajax结果.
但是,在不同的条件或“功能”下,我需要执行不同的“后台”任务,这些任务会改变应用程序的状态.
在这种情况下,我需要一遍又一遍地运行相同的场景,以确保一切都适用于应用程序状态的不同更改.
有没有办法在某处定义场景,然后重用它们?
从relishapp页面获取的基本示例如下.如您所见,在多个功能中使用相同的方案来测试不同的类 – 即运行了6个示例.
require 'rspec/autorun' require "set" shared_examples "a collection" do let(:collection) { described_class.new([7,2,4]) } context "initialized with 3 items" do it "says it has three items" do collection.size.should eq(3) end end describe "#include?" do context "with an an item that is in the collection" do it "returns true" do collection.include?(7).should be_true end end context "with an an item that is not in the collection" do it "returns false" do collection.include?(9).should be_false end end end end describe Array do iT_Behaves_like "a collection" end describe Set do iT_Behaves_like "a collection" end
relishapp页面上有几个示例,包括使用参数运行共享示例(下面复制).我猜(因为我不知道你的确切测试)你应该能够在执行一组例子之前使用参数来设置不同的条件.
require 'rspec/autorun' shared_examples "a measurable object" do |measurement,measurement_methods| measurement_methods.each do |measurement_method| it "should return #{measurement} from ##{measurement_methoD}" do subject.send(measurement_method).should == measurement end end end describe Array,"with 3 items" do subject { [1,3] } it_should_behave_like "a measurable object",3,[:size,:length] end describe String,"of 6 characters" do subject { "FooBar" } it_should_behave_like "a measurable object",6,:length] end
以上是大佬教程为你收集整理的ruby-on-rails-3 – 如何使用rspec capybara重用不同功能中的场景全部内容,希望文章能够帮你解决ruby-on-rails-3 – 如何使用rspec capybara重用不同功能中的场景所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。