复数和测试中的错误?

时间:2009-03-22 14:40:39

标签: ruby-on-rails

我有一个名为TipoContato的模型(表tipos_contato),如果我将其复数,它将成为tipo_contatos,所以我将其添加到变形中:

inflect.irregular 'tipo_contato', 'tipos_contato'

好的,在控制台中测试它是完美的:

>> TipoContato
=> TipoContato(id: integer, descricao: string, created_at: datetime, updated_at: datetime)

但是,在运行测试用例时,我收到此错误:

ActiveRecord::StatementInvalid: Mysql::Error: Table 'contacts_test.tipo_contatos' doesn't exist: DELETE FROM `tipo_contatos`

我试图强迫rails识别我的桌子:

set_table_name 'tipos_contato'

我得到了同样的错误。

Rails 2.3.2

1 个答案:

答案 0 :(得分:2)

不确定这是否是一个错误,但有一个解决方法。将fixtures文件的名称更改为tipos_contato.yml。接下来,将其连接到单元测试中,如下所示:

class TipoContatoTest < ActiveSupport::TestCase
  set_fixture_class :tipos_contato => TipoContato
  ...
end

这是一个post,它更详细地描述了这一点。