2015-09-25 110 views
0

我一直在试图在Rails 4.2.4上设置我的第一个测试,但通常我在数据库中使用了singularized表名,因此我将此行添加到config /application.rbMinitest不尊重将config.active_record.pluralize_table_names设置为false

config.active_record.pluralize_table_names = false 

因为我是在汽车和用户模型的工作,让我们假设我已经生成的每个支架,并已执行耙分贝:测试:准备所以这个问题开头测试如下:

在test/models/car_test.rb或us中er_test.rb,首先我取消存根测试“真相”,并运行香草与下面的错误与耙测试:机型

# Running: 

EE 

Finished in 0.019095s, 104.7396 runs/s, 0.0000 assertions/s. 

    1) Error: 
UserTest#test_the_truth: 
ActiveRecord::StatementInvalid: SQLite3::SQLException: no such table: users: DELETE FROM "users" 



    2) Error: 
CarTest#test_necessary_car_data: 
ActiveRecord::StatementInvalid: SQLite3::SQLException: no such table: users: DELETE FROM "users" 


2 runs, 0 assertions, 0 failures, 2 errors, 0 skips 

当我运行耙测试:控制器相同的ActiveRecord的错误显示了多个次,并且我无法以任何方式修复此行为。

有人遇到过这个问题吗?这让我疯狂......

PS:所有的开发都做得很好,没有任何单一表名的问题,唯一的麻烦在于测试。

回答

0

经过多次修补之后,我发现Minitest使用每个灯具文件名将其转换为数据库中表格的名称。所以,当我产生的支架,它创造测试/夹具/ users.yml里

所以我只是改变了文件名user.yml和测试又开始工作(我需要改变所有夹具的文件名)。

最后,它的工作,但它感觉很尴尬手动改变这些名称,当发电机应该这样做......是否有人知道去哪里指出这个问题与发电机?在官方回购中注册Github问题是否可以?