Rails minitest 检查记录是否已创建 - ArgumentError:参数数量错误

问题描述

我有一个简单的服务,它创建了一个名为 PropertyReport 的记录:

#app/services/portfolios/related_property_reports.rb
module Portfolios
  class RelatedPropertyReports
    def initialize(portfolio,portfolio_report)
      @portfolio = portfolio
      @portfolio_report = portfolio_report
    end

    def call
      PropertyReport.create!(
        property: property,portfolio_report: portfolio_report,)
    end
  end
end

现在我想使用下面的 minitest 来测试这个服务:

#app/services/portfolios/related_property_reports_test.rb

require 'test_helper'

module Portfolios
  class RelatedPropertyReports < ActiveSupport::TestCase
    setup do
      @portfolio = Portfolio.create(name: Faker::Bank.name)
      @property = Property.create(portfolio: @portfolio,name: Faker::Bank.name,status: 'planned')
      @portfolio_report = PortfolioReport.create(portfolio: @portfolio)
    end

    test 'create new record' do
      service.call
      assert_equal 1,PropertyReport.count
    end

    private

    def service
      @service ||= ::Portfolios::RelatedPropertyReports.new(@portfolio,@portfolio_report)
    end
  end
end

这给了我一个错误

投资组合::RelatedPropertyReports#test_create_new_record: ArgumentError:参数数量错误(给定 2,预期为 1)

考虑到我在 new 中给出了两个参数,非常奇怪。我错过了什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)