0

我创建了一个类方法,并在该类方法中实例化了同一类的另一个对象。根据我的测试,在尝试保存这个对象时,我得到了错误,但我不知道为什么。

至于落实押金。我已经单独测试了 transaction.credit 并且它按预期工作。问题是 transaction.save 没有返回 TRUE。只有当这两个方法的计算结果都为 TRUE 时,Anding (&&) 这两个方法才应该一起返回 true。

class Transaction
  .
  .
  .
  def self.deposit(account, amount, description, task_description_id)
    # create credit transaction
    transaction = Transaction.new
    transaction.description = description
    transaction.task_description_id = task_description_id

    transaction.credit(account, amount) && transaction.save
  end
  .
  .
  .
end

我的测试

describe "when performing account deposit" do
  before { @flag = Transaction.deposit(@discrete_task.commitment_account, 10000, "transfer", 4) }
  it { @discrete_task.commitment_account.balance.to_f.should == 10000 }
  it { @flag.should be_true }
end
4

1 回答 1

0

由于不满足验证要求,我的测试失败了,因此我的对象不会保存...感谢@23tux 帮助我获取我需要的错误消息来解决这个问题。

于 2012-10-01T15:23:24.160 回答