小编use*_*677的帖子

使用Rails环境测试带Rspec的Rake任务

我正在尝试测试一个rake任务,它在其中使用了一个活动记录.

require 'spec_helper'
require 'rake'

load File.join(Rails.root, 'lib', 'tasks', 'survey.rake')

describe "survey rake tasks" do
  describe "survey:send_report" do
    it "should send a report" do
      Rake::Task['survey:send_report'].invoke
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

当我运行此规范时rspec spec/lib/survey_spec.rb,我收到此错误"

RuntimeError:
   Don't know how to build task 'environment'
Run Code Online (Sandbox Code Playgroud)

如何通过示例规范加载:enviroment任务?

ruby rspec ruby-on-rails

20
推荐指数
4
解决办法
1万
查看次数

MySQL搜索查询在两个不同的字段上

我需要使用LIKE函数搜索两个字段,并且也应该以相反的顺序匹配.我的表使用没有全文搜索的InnoDB.

考虑以下情况:

我有一个带有first_name和last_name列的用户表.在它上面,有一行具有以下值:

{
    first_name: 'Ludwig',
    last_name: 'van Beethoven',
}
Run Code Online (Sandbox Code Playgroud)

案例:

  1. 可以搜索"Ludwig van Beethoven"
  2. 可以搜索"Beethoven Ludwig"
  3. 可以搜索"路德维希"
  4. 可以搜索"贝多芬"

我试过这个SQL语句,但没有运气.

SELECT CONCAT(first_name, ' ', last_name) as fullname 
  FROM users 
 WHERE fullname LIKE '%Ludwig van Beethoven%';
Run Code Online (Sandbox Code Playgroud)

mysql

5
推荐指数
2
解决办法
4301
查看次数

Rails 3.1 Rspec为Model创建测试用例验证字段

我正在尝试为User模型创建一个测试用例.基本上,它将验证first_name和last_name是否存在.

我要做的是检查特定字段上的错误是否为空,它应该为空.然而它总是失败.

这样做的正确方法是什么?

这是我的代码

在我的user_spec.rb上

require 'spec_helper'

describe User do

  before do
    @user = User.new
  end

  it "must have a first name" do
    @user.errors[:first_name].should_not be_empty
  end

  it "must have a last name" do
    @user.errors[:last_name].should_not be_empty
  end
end
Run Code Online (Sandbox Code Playgroud)

在我的user.rb文件上

class User < ActiveRecord::Base
  validates :first_name, :presence => true
  validates :last_name, :presence => true
end
Run Code Online (Sandbox Code Playgroud)

ruby testing rspec ruby-on-rails-3

4
推荐指数
2
解决办法
1万
查看次数

标签 统计

rspec ×2

ruby ×2

mysql ×1

ruby-on-rails ×1

ruby-on-rails-3 ×1

testing ×1