使用minitest rails测试回调

Amb*_*rma 0 ruby-on-rails minitest

我的模型中有一个before_validation回调。我无法找到如何在minitest rails中编写回调的测试用例。

test 'callback set_slug before_validation' do
  company = Company.new(name: 'test')
  mock_method = MiniTest::Mock.new
  mock_method.expect :set_slug, 'clickapps1'
  company.stub :set_slug, 'clickapps1' do
    company.valid?
  end
  mock_method.verify
end
Run Code Online (Sandbox Code Playgroud)

Amb*_*rma 5

我使用了摩卡宝石,然后我的测试用例如下:

test 'callback set_slug before_validation' do
  company = Company.new(name: 'test')
  company.expects(:set_slug)
  company.valid?
 end
Run Code Online (Sandbox Code Playgroud)

现在可以了。