Tag: rspec

警惕RSpec Rails 4给出了很多警告

我想知道如何在运行简单testing时closures所有这些警告: [1] guard(main)> 16:59:46 – INFO – Run all 16:59:46 – INFO – Running all specs /Users/esjd/.rvm/gems/ruby-2.1.2/gems/rspec-rails-3.0.1/lib/rspec/rails/adapters.rb:124: warning: instance variable @example not initialized /Users/esjd/.rvm/gems/ruby-2.1.2/gems/rspec-rails-3.0.1/lib/rspec/rails/adapters.rb:124: warning: instance variable @example not initialized .* Pending: HomeHelper add some examples to (or delete) /Users/esjd/ruby/rails/ts3/spec/helpers/home_helper_spec.rb # Not yet implemented # ./spec/helpers/home_helper_spec.rb:14 Finished in 0.03601 seconds (files took 7 minutes 48 […]

Rspec没有看到我的模型类。 未初始化的常量错误

我在Ruby on Rails应用程序中为我的模型编写Rspectesting。 而我收到这个错误,而开始'rspec规范' command: /spec/models/client_spec.rb:4:in `<top (required)>': uninitialized constant Client (NameError) 我使用Rails 4.0.0和Ruby 2.0.0 这是我的client_spec.rb: require 'spec_helper' describe Client do it 'is invalid without first_name', :focus => true do client = Client.new client.should_not be_valid end end 和Gemfile: source 'https://rubygems.org' # Bundle edge Rails instead: gem 'rails', github: 'rails/rails' gem 'rails', '4.0.0.rc1' # Use sqlite3 […]

它与RSpec中的块和指定块之间的区别

它和RSpec中的指定块有什么区别? subject { MovieList.add_new(10) } specify { subject.should have(10).items } it { subject.track_number.should == 10} 他们似乎做同样的工作。 只要检查一下就可以了。

如何为Rails rspectesting准备testing数据库而不运行rake spec?

经过重要的故障排除之后,我发现我需要运行一次rake spec (我可以用control-c中止),然后才能直接运行rspec(例如,在我们的规格子集中)。 我们正在运行Rails 3.0.7和RSpec 2.5.0。 显然,rake正在运行一些重要的数据库设置任务/代码(我们在根级rails Rakefile和其他地方有自定义代码)。 如何运行raketesting数据库设置任务/代码而不运行rake spec ? 除了能够在一个文件子集上运行rspec外,我还使用specjour将这些规范分布在多个内核中(还没有成功将它们分布到整个局域网上),但是我看到了和运行rspec直接:在specjour工作之前,我需要在每个testing数据库(假设是两个内核)上运行rake spec : rake spec TEST_ENV_NUMBER=1 control-c (after tests start) rake spec TEST_ENV_NUMBER=2 control-c (after tests start) specjour 注意:我的config / database.yml有这个条目进行testing(对于平行testing的gem是常见的): test: adapter: postgresql encoding: unicode database: test<%=ENV['TEST_ENV_NUMBER']%> username: user password: parallel_tests似乎正确地设置了它的数据库,但是我们的许多specs失败了。 我还应该提到,运行specjour prepare导致Postgreslogging错误,它找不到数据库,但它创build它们(没有表)。 在随后的运行中,不会logging错误,也不会创build表。 我的整个问题可能只是一个prepare的bug,所以我在github上报告了它。 我认为我可以通过在.specjour / hooks.rb中设置Specjour::Configuration.prepare在每个specjourtesting数据库上运行任意代码,所以如果有任何rake任务或者其他需要运行的代码,它可能在那里工作。

如何在Factory Girl中定义数组/散列?

我正在尝试编写一个testing,模拟Dropbox的REST服务中的一些返回值,这个服务使用嵌套哈希将数据返回给数组。 我无法弄清楚如何编写我的工厂,因为返回结果是一个有一个内部的数组。 这里会有什么? Factory.define :dropbox_hash do ?? end Dropbox的数据如下所示: ["/home", {"revision"=>48, "rev"=>"30054214dc", "thumb_exists"=>false, "bytes"=>0, "modified"=>"Thu, 29 Dec 2011 01:53:26 +0000", "path"=>"/Home", "is_dir"=>true, "icon"=>"folder_app", "root"=>"app_folder", "size"=>"0 bytes"}] 而且我想在我的RSpec中使用这样的工厂调用: Factory.create(:dropbox_hash)

如何用has_many关联在FactoryGirl中设置工厂

有人能告诉我,如果我只是在错误的方式进行安装? 我有以下有has_many.through关联的模型: class Listing < ActiveRecord::Base attr_accessible … has_many :listing_features has_many :features, :through => :listing_features validates_presence_of … … end class Feature < ActiveRecord::Base attr_accessible … validates_presence_of … validates_uniqueness_of … has_many :listing_features has_many :listings, :through => :listing_features end class ListingFeature < ActiveRecord::Base attr_accessible :feature_id, :listing_id belongs_to :feature belongs_to :listing end 我使用的是Rails 3.1.rc4,FactoryGirl 2.0.2,factory_girl_rails 1.1.0和rspec。 这里是我的基本rspec rspec完整性检查:listing工厂: […]

水豚:如何testing页面的标题?

在使用Steak,Capybara和RSpec的Rails 3应用程序中,如何testing页面的标题?

Rspec输出格式:文档

当我使用rake rspec运行rspec并且testing不正常时,我收到一条错误消息。 但是,当我的testing没问题时,我只是得到'..'。 没有其他输出。 我怎样才能打印出像这样的东西: A User …. can only have one name A User …. can …

如何使用正确的错误信息使用水豚断言元素的数量?

我知道在水豚,你可以做这样的事情: page.should have_css("ol li", :count => 2) 但是,假设页面只有一个匹配的元素,这个错误不是非常具有描述性: 1) initial page load shows greetings Failure/Error: page.should have_css("ol li", :count => 2) expected css "ol li" to return something 而不是这个相当晦涩的错误消息,有没有一种方式来写错误输出的错误输出类似'当匹配'李',预期:2,find:1'的断言。 显然,我可以自己做一个自定义的逻辑来处理这样的行为 – 我问有没有办法做到这一点“开箱即用”? 对于它的价值,我使用Selenium驱动程序和RSpec。

未定义的方法`得到'为#<RSpec :: Core :: ExampleGroup :: Nested_1:0x00000106db51f8>

任何人都知道如何解决这个问题? 在OSX上,试图让Rails 3.0.7运行RSpec。 详细信息请参阅: https : //gist.github.com/1017044 it "renders buttons_widgets partial" do get :buttons_widgets response.should render_template("buttons_widgets") end → rspec tools_model_spec.rb /Users/mm/.rvm/gems/ruby-1.9.2-p0@evergreen/bundler/gems/rspec-core-bea2366c817e/lib/rspec/core/version.rb:4: warning: already initialized constant STRING /Users/mm/.rvm/gems/ruby-1.9.2-p0@evergreen/bundler/gems/rspec-core-bea2366c817e/lib/rspec/core/metadata.rb:48: warning: already initialized constant RESERVED_KEYS /Users/mm/.rvm/gems/ruby-1.9.2-p0@evergreen/bundler/gems/rspec-core-bea2366c817e/lib/rspec/core/pending.rb:6: warning: already initialized constant DEFAULT_MESSAGE /Users/mm/.rvm/gems/ruby-1.9.2-p0@evergreen/bundler/gems/rspec-core-bea2366c817e/lib/rspec/core/world.rb:6: warning: already initialized constant PROC_HEX_NUMBER /Users/mm/.rvm/gems/ruby-1.9.2-p0@evergreen/bundler/gems/rspec-core-bea2366c817e/lib/rspec/core/world.rb:7: warning: already initialized constant PROJECT_DIR /Users/mm/.rvm/gems/ruby-1.9.2-p0@evergreen/bundler/gems/rspec-core-bea2366c817e/lib/rspec/core/configuration.rb:43: warning: already initialized constant […]