Tag: guard

保护Ruby On Rails 3.2教程

我正在关注Ruby on Rails教程 。 事情进展顺利,但我注意到Guard仅在保存一些文件(视图或控制器文件)后运行,但在保存其他文件(路由或spec文件)时不运行。 我已经把警卫连接到Spork,不确定这是否重要。 当我查看运行Guard / Spork的控制台窗口时,我在保存非运行测试后发现错误: Exception encountered: #<LoadError: no such file to load — /Users/Tyler/Development/FirstRails/sample_app/spec/routing 我不确定Guard文件的语法是什么,我只是复制了这个例子。 这是Guard文件: # A sample Guardfile # More info at https://github.com/guard/guard#readme guard ‘rspec’, :version => 2, :all_after_pass=>false, :cli => ‘–drb’ do watch(%r{^spec/.+_spec\.rb$}) watch(%r{^lib/(.+)\.rb$}) { |m| “spec/lib/#{m[1]}_spec.rb” } watch(‘spec/spec_helper.rb’) { “spec” } # my edits watch(%r{^app/controllers/(.+)_(controller)\.rb$}) do […]

如何在错误的rspec规范之间清理我的数据库?

我已将database_cleaner gem添加到我的rails应用程序中,以便在规范之间清理我的数据库。 这是我对database_cleaner的当前配置,位于spec/spec_helper.rb : config.before(:suite) do DatabaseCleaner.strategy = :transaction DatabaseCleaner.clean_with(:truncation) DatabaseCleaner.start DatabaseCleaner.clean end config.before(:each) do DatabaseCleaner.clean end config.after(:each) do DatabaseCleaner.clean end config.after(:suite) do DatabaseCleaner.clean end 现在,只要运行的每个最后一个规范通过或失败,此配置都可以正常工作。 但是,如果出现错误(rspec没有给你一个漂亮的小E像minitest,它会引发这样的事情: 09:17:32 – INFO – Running: spec /usr/local/rvm/rubies/ruby-1.9.3-p392/lib/ruby/gems/1.9.1/gems/activerecord-4.0.1/lib/active_record/validations.rb:57:in `save!’: Validation failed: Email has already been taken (ActiveRecord::RecordInvalid) ),数据库没有清理! 错误之前的规范中的残留数据保留在数据库中。 我想这是因为database_cleaner不会将错误的规范视为完成,因此不会清理数据库。 现在,在您再次运行规范之前,这并不会造成任何伤害。 然后残差数据会产生类似于此的错误: 09:17:32 – INFO – Running: spec /usr/local/rvm/rubies/ruby-1.9.3-p392/lib/ruby/gems/1.9.1/gems/activerecord-4.0.1/lib/active_record/validations.rb:57:in […]

在Windows上使用Guard和rspec更改文件时,测试不会运行

我已经安装了guard-rspec gem用于我的rails应用程序。 当我通过bundle exec guard从命令行启动后,它第一次运行我的整个测试套件没有问题。 但是,每当我对我的Guardfile中指定的spec文件或任何监视文件进行任何更改时,Guard似乎都不会识别这些更改,也不会重新运行任何测试。 我甚至尝试在我的Guardfile中放置一些显式内容,如下所示: watch(“app/views/orders/new.html.erb”) { “spec/requests/orders_spec.rb” } 当我编辑并保存new.html.erb时,应该触发我的orders_spec.rb测试运行吗? 好吧,当我编辑它并点击保存时,没有任何反应,甚至没有错误或警告。 有没有人有幸在Windows上运行Guard或遇到类似的问题?

使用guard-rspec与factory-girl-rails

我正在使用factory_girl_rails替代我的Rails项目中的灯具。 我也使用guard-rspec自动运行我的规格。 Guard没有接受我对工厂文件所做的更改(例如spec/factories/users.rb ) – 我必须停止保护,然后重新初始化它以获取这些更改。 有哪些选项可以避免这种手动过程?