【发布时间】:2020-08-15 06:26:03
【问题描述】:
我的这个对象包含一个默认值为 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 查询对象。这会影响对象吗?
【问题讨论】:
-
您可以编辑您的帖子以包含您正在测试的课程中的代码吗?看起来答案就在那个代码中,但我们看不到它。
-
@anu 你能仔细检查一下你实际上是在为你正在测试的对象设置宽度吗?也许您错误地将其设置为另一个对象?
-
如果您使用 SQL 查询对象,它如何使用工厂?能否请您提供更多信息。
标签: ruby factory-bot transient