gpt4 book ai didi

ruby-on-rails - rails : Unit testing a before_create?

转载 作者:行者123 更新时间:2023-12-04 19:51:00 25 4
gpt4 key购买 nike

我正在尝试测试回调是否正确生成了一个字段,但我无法弄清楚这一点。

专辑.rb

before_create :generate_permalink

private
def generate_permalink
@title = album.downcase.gsub(/\W/, '_')
@artist = artist.downcase.gsub(/\W/, '_')
self.permalink = @artist + "-" + @title
end

专辑_test.rb
test "should return a proper permalink" do
album = Album.new(:artist=>'Dead Weathers', :album=>'Primary Colours')
album.save
assert_equal "dead_weathers-primary_colours", album.permalink
end

但这不起作用,因为 album.permalink如果保存,则不会返回该值。

有没有办法测试 before_create ?我应该在 Controller 级别执行此操作吗?

最佳答案

我找到了 this blog post你可能会感兴趣。

简而言之,它提到您可以使用 send 方法将回调作为其参数来自己调用回调。在这种情况下,您可以使用以下命令强制专辑调用 before_create 回调

album.send(:before_create)

关于ruby-on-rails - rails : Unit testing a before_create?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/993941/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com