Rails simple_simple 表单,功能测试未能填充 field/sometimes

Rails simple_simple form, feature test failing to populate field/sometimes

我有一个挑剔的测试。

我正在使用 simple_form 和 rails 创建一个非常标准的 job/college 类型的应用程序供用户填写。

问题是:有时在功能测试中,当用户编辑应用程序(通过 Factoryfirl 创建)时,rails/simple_form 无法使用某些日期的变量。这似乎也只发生在 include_blank: 为真时。

我知道它是用日期创建的。该字段无法填充日期,有时只能填充年份列。

我认为这不是我写的任何东西的问题,因为测试有时确实有效。可能是配置问题:

字段调用:

= required_field_on_submit(f, :profile, :birthdate, as: :date, start_year: years_ago(100), end_year: years_ago(Application::MINIMUM_AGE - 1), include_blank: true, order: order(:m, :d, :y))

required_field_on_submit 只是 f.input 的自定义包装器,bc 验证应用程序的方式。那里没有发生任何奇怪的事情,已经检查过了。

正如我在评论中提到的那样 - 测试期间页面未正确填写日期 select 的一个常见原因是生成的数据(工厂等)超出了可接受的日期范围select

您是否能够 select 从前端手动给定的值 (years_ago(100)) ?如果是,则在传递值之前确保页面已正确加载。您可以等待元素或验证页面上的消息。 您也可以尝试调试失败的情况,通过添加 "puts" 语句在控制台打印日期,以便验证日期是否在正确的范围内。