ruby-on-rails - FactoryBot - 显示我的对象用户的所有字段
问题描述
我的工厂:
factory :user_blocked, class: User do
name { 'Test' }
login { 'mylogin' }
uid { 'mylogin' }
password { 'test' }
password_confirmation { 'test' }
locked_at { nil }
trait :lock do
locked_at { Time.now.utc }
end
association :customer, factory: :customer
end
在我的测试中,我创建了一个新用户:
let(:user) { create(:user_blocked) }
但是在我的对象中,用户不会出现我的字段locked_at
为什么会这样?
解决方案
首先,正如比利建议的那样,您的工厂名为:user_blocked
,其次,您的locked_at
值设置为名为 的“特征” :lock
。
因此,要创建一个具有“locked_at”值的用户,请将您的代码更改为:
let(:user) { create(:user_blocked, :lock) }
这是FactoryBot“特征”功能描述的链接: https ://github.com/thoughtbot/factory_bot/blob/master/GETTING_STARTED.md#traits
推荐阅读
- spring - 如何在 Spring Webflux 中使用 @RequestBody 并避免 IllegalStateException?
- html - 如何在 css(HTML) 中定义换行符
- javascript - 基本函数与匿名函数
- c# - 如何模拟表达式
>> 使用喜欢 It.Is >> - python - scrapy shell如何爬取特定网站
- vlc - RTSP 流 VLC 3.0.8 的马赛克
- html - 父母非祖父母的CSS百分比定位
- vba - Excel 用户表单输入失控
- swiftui - SwiftUI 获取对象以响应另一个对象的大小
- sharepoint - 通过 Office 插件 (Word JS) 使用 Microsoft Graph 访问 SharePoint