【问题标题】:Rails test database values do not match fixture valuesRails 测试数据库值与夹具值不匹配
【发布时间】:2014-12-18 04:50:25
【问题描述】:

这对我来说似乎是一个非常奇怪的问题。我有一个包含布尔值字段的表。我将该字段更改为字符串,因为我现在想要更多可能的值,而不仅仅是是或否。我运行了迁移并重新运行了测试。数据库表结构显示字段类型已更改为 varchar(255)。但是每次我运行测试时,数据库字段值仍然显示'f'或't'。但在我的夹具文件中,我现在将值设置为“否”或“是”:

one:
  value: No

two:
  value: Yes

我已尝试清除数据库并重新运行测试。但没有任何帮助。我不知道布尔值从哪里来,因为我改变了类型。我想不出还有什么需要清除的。我确定有一些简单的事情我忘了做,但我没有看到。如果需要更多信息来回答这个问题,请告诉我。

我正在使用 ruby​​ 2.1.4 运行 rails 4.1.5。我正在使用 SQLite 运行测试。

【问题讨论】:

    标签: ruby-on-rails database fixtures


    【解决方案1】:

    值 Yes 和 No 在 Yaml 文件中被解释为布尔值。尝试将其更改为:

    one:
      value: "No"
    
    two:
      value: "Yes"
    

    【讨论】:

    • 那行得通。谢谢!我应该在 Yaml 上完成我的 Google 搜索,而不是在夹具和数据库类型上。
    猜你喜欢
    • 1970-01-01
    • 2016-06-24
    • 1970-01-01
    • 2012-10-05
    • 2014-08-09
    • 2021-12-23
    • 2018-05-05
    • 2016-04-28
    • 1970-01-01
    相关资源
    最近更新 更多