Factory Bot中的瞬态属性不起作用

问题描述 投票:1回答:1

我有这个对象,其中包含一个默认值为101的单词。

 trait :word do
      transient do
        width 101
      end

      after(:create) do |object, evaluator|
        word_x = "x" * evaluator.width
        object.word = word_x
      end
    end

我打电话

create :object :word, width: 800

并且是完美的object.word在ruby测试文件中的单词长度为800。

但是我正在测试的类显示object.word的字长为101。就像它忘记了我设置的一样。

发生了什么事?。

编辑:在我的课堂上,我使用SQL查询对象。这会影响物体吗?

ruby factory-bot transient
1个回答
0
投票

根据factorybot的版本,甚至在定义静态属性时,您可能需要使用新的块语法:

transient do
  width { 101 }
end

请参见docs

© www.soinside.com 2019 - 2024. All rights reserved.