Tag: rspec

在rspec中运行rubydebugging?

我试图让Rubydebugging器运行在我的规范之一: describe User do it "should be valid" do debugger User.new.should be_valid end end 当我运行rspec时,我得到: debugger statement ignored, use -d or –debug option to enable debugging 我已经尝试了以下内容: rake spec –debug rake spec –debug –trace rake spec:models –debug bundle exec rspec –debug bundle exec rspec –debug spec/models/ bundle exec rspec –d spec/models/ bundle exec "rspec –debug" […]

Rails 3.1,RSpec:testing模型validation

我已经开始了在Rails中使用TDD的旅程,并遇到了一个关于模型validationtesting的小问题,我似乎找不到解决scheme。 比方说,我有一个用户模型, class User < ActiveRecord::Base validates :username, :presence => true end 和一个简单的testing it "should require a username" do User.new(:username => "").should_not be_valid end 这正确地testing存在validation,但是如果我想更具体一点呢? 例如,在错误对象上testingfull_messages。 it "should require a username" do user = User.create(:username => "") user.errors[:username].should ~= /can't be blank/ end 我对初始尝试(使用should_not be_valid)的担心是RSpec不会产生描述性错误消息。 它只是说“预计有效?返回假,是真的。” 但是,第二个testing示例有一个小缺点:它使用create方法而不是新方法来获取错误对象。 我希望我的testing能够更具体地说明他们正在testing的内容,但同时不需要触摸数据库。 任何人有任何投入?

BDD和TDD为node.js?

什么是用于BDD和TDD与node.js? 我习惯使用Cucumber + RSpec。 什么是node.js的一个很好的组合? 谢谢

object.any_instance should_receive vs expect()来接收

以下一段代码按预期工作: Object.any_instance.should_receive(:subscribe) 但是当使用新的rspec期望它不起作用: expect(Object.any_instance).to receive(:subscribe) 错误是: expected: 1 time with any arguments received: 0 times with any arguments 如何使expect()获得这个工作?

如何在Rails中testing关注

鉴于我有我的Rails 4应用程序有一个full_name方法Personable关心,我将如何去使用RSpec进行testing? 关注/ personable.rb module Personable extend ActiveSupport::Concern def full_name "#{first_name} #{last_name}" end end

用所有RESTful函数生成一个控制器

我正试图生成一个控制器与所有的REST风格的动作。 我已经阅读链接文本 ,我所需要做的就是使用调用发电机只有一个控制器的名字,我会得到这一点。 所以,我运行“脚本/生成rspec_controller属性”,我得到一个空的控制器。 任何其他build议将不胜感激。

spec / rails_helper.rb与spec / spec_helper.rb有什么不同? 我需要它吗?

我正在做Rails教程第二次。 当我input这个 rails generate integration_test static_pages 我得到spec/rails_helper.rb和spec/spec_helper.rb而不是spec/spec_helper.rb 现在,当我运行我的testing时,它们比上次做的时间更长(更“冗长”),而且速度更慢。 我想知道这两个文件之间的区别是什么,如果我做错了什么。 另外,有没有办法摆脱rails_helper.rb文件没有搞乱一切?

一些JS运行后如何使水豚检查可见性?

加载页面后,我有运行的代码,并根据xhr返回的数据隐藏和显示各种项目。 我的集成testing看起来像这样: it "should not show the blah" do page.find('#blah').visible?.should be_true end 当我手动去上下文中的这个testing运行,#blah是不可见的,因为我期望。 我怀疑Capybara正在查看页面的初始状态(在这种情况下是不可见的),评估DOM的状态并在JS运行之前通过testing失败。 是的,我在包含describe块中设置:js => true 🙂 任何想法将不胜感激! 我希望我不必在这里有意拖延,这种感觉会很脆弱,会让事情变得缓慢。

跳过Factory Girl和Rspec的callback

我正在使用after createcallback来testing一个模型,我只想在testing的时候在某些场合运行。 我怎样才能跳过/运行工厂callback? class User < ActiveRecord::Base after_create :run_something … end 厂: FactoryGirl.define do factory :user do first_name "Luiz" last_name "Branco" … # skip callback factory :with_run_something do # run callback end end

RSpec:let和a之前的区别是什么?

在RSpec中let和a before什么区别? 何时使用每个? 下面的例子中会有什么好办法(let or before)? let(:user) { User.make !} let(:account) {user.account.make!} before(:each) do @user = User.make! @account = @user.account.make! end 我研究了这个stackoverflowpost 但是如何定义像上面这样的关联的东西呢?