Tag: rspec

计数执行的查询数量

我想testing一段代码执行尽可能less的SQL查询。 ActiveRecord::TestCase似乎有自己的assert_queries方法,这将做到这一点。 但是由于我没有修补ActiveRecord,所以对我来说没有什么用处。 RSpec或ActiveRecord是否提供了任何官方公开的方法来计算在一个代码块中执行的SQL查询的数量?

将Rspec默认GET请求格式设置为JSON

我正在使用Rspec为我的控制器进行functiontesting。 我已经在我的路由器中将默认响应格式设置为JSON,因此每个没有后缀的请求都将返回JSON。 现在在rspec中,当我尝试时,出现错误(406) get :index 我需要去做 get :index, :format => :json 现在因为我主要用API来支持JSON,所以为每个请求指定JSON格式是非常多余的。 我可以以某种方式将其设置为默认的所有我的GET请求? (或所有请求)

你如何标记一个黄瓜情景作为待定

我如何标记一个黄瓜scheme作为挂起,所以它不被视为通过计数? Scenario: Guest should not see edit link # pending implementation 我应该不能标记为待定?

Cuke4Nuke或SpecFlow?

我正在决定是否应该使用Cuke4Nuke或SpecFlow。 什么是每个人的利弊? 意见哪个更好,为什么。 谢谢!

Rspec:如何testing文件操作和文件内容

在我的应用程序中我有这样的代码: File.open "filename", "w" do |file| file.write("text") end 我想通过rspectesting这个代码。 这样做的最佳做法是什么?

编写依赖于环境variables的代码规范的最佳方法是什么?

我正在testing一些代码,从环境variables(由生产中的Heroku config vars设置,用于本地开发,我使用工头)来configuration它的configuration。 用RSpectesting这种代码的最好方法是什么? 我想出了这个: before :each do ENV.stub(:[]).with("AWS_ACCESS_KEY_ID").and_return("asdf") ENV.stub(:[]).with("AWS_SECRET_ACCESS_KEY").and_return("secret") end 如果你不需要testing环境variables的不同值,我想你可以在spec_helper设置它们。

如何设置方法testing中使用的私有实例variables?

给定一个具有几个实例variables和一些方法的类。 一些实例variables可以通过attr_reader和attr_accessor访问。 因此,其他人是私人的。 一些私有实例variables在一个实例方法中被设置,并在另一个方法中被读取/使用。 为了testing我正在使用RSpec。 由于我对Ruby还是个新手,想要把所有的东西都弄清楚,所以我把testing定义得相当细致。 因此,每个实例方法都有一个describe块,它们本身被分割成context的一个子集。 一般的环境先决条件与before定义。 但是,当testing其中一个方法,即利用而不是设置一个私有variables时,我需要调用另一个方法,即设置这个variables。 这似乎相当超重,而不是模块化的。 有没有办法强制一个私人实例variables的特定值。 类似于用Object::instance_eval(:var) “ 取出 ”私有实例variables的值。

如何发送RubyMine通知咆哮?

我想弄清楚如何让RubyMine的控制台发送消息咆哮。 具体来说,因为我通过RubyMine运行Rspec&Spork,所以我想让Growl通知有多lesstesting通过和失败。 我有这个function的命令行版本通过Autotest和RedGreen的gem,但是这两个gem似乎都没有保留在RubyMine中的有用性。 有没有人成功推动RubyMine的Growl通知? 任何人都可以想到任何可以启用通知的工具或机制?

我如何确保Rails不会为视图和帮助器生成规范testing?

有没有办法从application.rb做到这一点?

Rspec /水豚装载正在进行中,通知要求认为有害

不确定这是不是一个水豚问题,但我刚做了一个新的安装Rails(4.1.1)和Rspec Rails(3.0.1),我想使用水豚(2.3.0),但从来没有使用过,遇到问题。 我在spec / features中创build了一个“spec”, 规范本身按照预期运行并通过,但是当rspec运行时,我得到了下面的“警告”。 有任何想法吗? 我只需要禁用ruby级别的警告或什么? /Users/typeoneerror/.rvm/gems/ruby-2.1.2@doki/gems/mail-2.5.4/lib/mail/network/delivery_methods/sendmail.rb:53: warning: shadowing outer local variable – to /Users/typeoneerror/.rvm/gems/ruby-2.1.2@doki/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247: warning: loading in progress, circular require considered harmful – /Users/typeoneerror/.rvm/gems/ruby-2.1.2@doki/gems/capybara-2.3.0/lib/capybara.rb from /Users/typeoneerror/.rvm/gems/ruby-2.1.2@doki/bin/ruby_executable_hooks:15:in `<main>' from /Users/typeoneerror/.rvm/gems/ruby-2.1.2@doki/bin/ruby_executable_hooks:15:in `eval' from /Users/typeoneerror/.rvm/gems/ruby-2.1.2@doki/bin/rspec:23:in `<main>' from /Users/typeoneerror/.rvm/gems/ruby-2.1.2@doki/bin/rspec:23:in `load' from /Users/typeoneerror/.rvm/gems/ruby-2.1.2@doki/gems/rspec-core-3.0.0/exe/rspec:4:in `<top (required)>' from /Users/typeoneerror/.rvm/gems/ruby-2.1.2@doki/gems/rspec-core-3.0.0/lib/rspec/core/runner.rb:38:in `invoke' from /Users/typeoneerror/.rvm/gems/ruby-2.1.2@doki/gems/rspec-core-3.0.0/lib/rspec/core/runner.rb:70:in `run' from /Users/typeoneerror/.rvm/gems/ruby-2.1.2@doki/gems/rspec-core-3.0.0/lib/rspec/core/runner.rb:85:in `run' from /Users/typeoneerror/.rvm/gems/ruby-2.1.2@doki/gems/rspec-core-3.0.0/lib/rspec/core/runner.rb:97:in `setup' […]