首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Rails rspec after_save参考自我

Rails rspec after_save参考自我
EN

Stack Overflow用户
提问于 2013-09-26 01:16:44
回答 2查看 176关注 0票数 0

我想在我的网站上加上一张污秽的支票。

我正在采取TD方法,我正在尝试以下几点:

  1. 检查特定配置文件字段中是否存在亵渎。
  2. 创建一个标志
  3. 如果不存在,则创建一个标志
  4. 如果存在,则创建一个标志,但已被取消。

到目前为止,这是我的规范:

代码语言:javascript
运行
复制
describe Painter do
  before do
    @painter = FactoryGirl.create(:painter_flag)
  end

  context "blacklist flag" do
    it "check if profanity exists" do
      @painter.experience = "test"
      @painter.save
      expect {@painter.blacklist_flags?}.to be_true
    end
    it "create flag if profanity exists" do
      @painter.experience = "test"
      @painter.save
      BlacklistFlag.count.should be > 0
    end
  end
end

与画家有关的代码:

代码语言:javascript
运行
复制
after_save :create_flag, if: :blacklist_flags?

def blacklist_flags?
    list = ""
    list << skills
    #list << experience
    #list << first_name
    #list << last_name
    #list.downcase.scan(/(badword|badword)/).size > 0
  end

def create_flag
end

如果我注释掉下面的代码,下面是两个测试通过的代码:

代码语言:javascript
运行
复制
 list << skills

当我把代码留在里面时,我会收到以下错误:

2)如果亵渎行为存在失败/错误,则绘制黑名单标志创建标志:@painter = FactoryGirl.create(:painter_flag) TypeError:无法将0转换为字符串

因为技能、经验等都是模型的一部分,所以引用自我似乎有问题。我不知道怎么解决这个问题。请给我建议。

更新:

代码语言:javascript
运行
复制
FactoryGirl.define do
  factory :painter do
    first_name "Brian"
    last_name  "Rosedale"
    state "OH"
    zip_code "43081"
    sequence(:email) {|n| "nobody#{n}@painterprofessions.com" }
    phone "12345566"
    pdca_member false
    password "123456"
    factory :painter_flag do
       skills = "badword"
    end
  end
end
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-26 03:08:54

只需在工厂中为:painter_flag使用这一行,而不使用=标志。

代码语言:javascript
运行
复制
skills "badword"
票数 0
EN

Stack Overflow用户

发布于 2013-09-26 01:34:00

我认为导致错误的原因是回调是在行@painter = FactoryGirl.create(:painter_flag)上执行的。

如果要测试回调,可能需要使用FactoryGirl.build方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19017757

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档