小编gre*_*tes的帖子

对于空元素,有一个等价的Array#compact吗?

众所周知,从数组中Array#compact删除nil元素.

array.reject { |element| element.empty? }

将删除空元素[](在轨道中你也可以做到#blank?摆脱空元素 nil元素).

是否有一种简短的方法来删除空/空白元素,如Array#compact?或者是用Array#reject我最好的赌注?

#compact如果有的话,我还没有看到"空"的等价物.但也许我只是忽略它.

ruby ruby-on-rails

20
推荐指数
2
解决办法
6886
查看次数

(显然)两个耙子任务的相同测试; 只有一个通过

我正在尝试在rspec中为两个rake任务编写测试,这两个rake任务在同一个文件中定义(在Rails 3.0.11项目中).出于某种原因,只有其中一个通过.我写了一个小的演示来抽象出任务的实际内容,同样的事情发生了.使用rake命令行调用时,这两个任务都有效.这是怎么回事?这是我的演示:

LIB /任务/ demo_tasks.rake

namespace :demo do
  task :test => :environment do
    puts "test!"
  end

  task :test_two => :environment do
    puts "second test!"
  end
end
Run Code Online (Sandbox Code Playgroud)

规格/ lib目录/任务/ demo_spec.rb

require 'spec_helper'
require 'rake'

describe "test tasks" do
  let(:rake) do
    app = Rake::Application.new
    app.options.silent = true
    app
  end

  before :each do
    Rake.application = rake
    Rake.application.rake_require 'lib/tasks/demo_tasks',
                                  [Rails.root.to_s]
    Rake::Task.define_task :environment
  end

  describe "demo:test" do
    it "runs" do
      rake["demo:test"].invoke
    end
  end

  describe "demo:test_two" do
    it "also_runs" do
      rake["demo:test_two"].invoke
    end
  end
end …
Run Code Online (Sandbox Code Playgroud)

rake rspec ruby-on-rails

6
推荐指数
2
解决办法
930
查看次数

标签 统计

ruby-on-rails ×2

rake ×1

rspec ×1

ruby ×1