Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 微型测试不';t将config.active\u record.pluralize\u table\u名称设置为false_Ruby On Rails_Testing_Activerecord_Minitest - Fatal编程技术网

Ruby on rails 微型测试不';t将config.active\u record.pluralize\u table\u名称设置为false

Ruby on rails 微型测试不';t将config.active\u record.pluralize\u table\u名称设置为false,ruby-on-rails,testing,activerecord,minitest,Ruby On Rails,Testing,Activerecord,Minitest,我一直在尝试在Rails 4.2.4上设置我的第一个测试,但通常我在DBs中使用单数表名,因此我将这一行添加到config/application.rb中 由于我一直在研究汽车和用户模型,让我们假设我已经生成了每个脚手架,并且已经执行了rake db:test:prepare,所以问题从测试开始,如下所示: 在test/models/car_test.rb或user_test.rb中,首先我取消对存根测试“thetruth”的注释,并使用rake测试运行vanilla,错误如下:models 当

我一直在尝试在Rails 4.2.4上设置我的第一个测试,但通常我在DBs中使用单数表名,因此我将这一行添加到config/application.rb中

由于我一直在研究汽车和用户模型,让我们假设我已经生成了每个脚手架,并且已经执行了rake db:test:prepare,所以问题从测试开始,如下所示:

在test/models/car_test.rb或user_test.rb中,首先我取消对存根测试“thetruth”的注释,并使用rake测试运行vanilla,错误如下:models

当我运行raketest:controllers时,相同的ActiveRecord错误会多次出现,到目前为止,我无法以任何方式修复此行为

有人遇到过这个问题吗?它快把我逼疯了


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

经过大量修改后,我发现Minitest使用每个fixture文件名转换为DB中的表名。因此,当我生成scaffold时,它创建了test/fixtures/users.yml

因此,我只是将文件名改为user.yml,测试再次开始工作(我需要更改所有fixture文件名)

最后,它成功了,但当生成器应该这样做时,手动更改这些名称会让人感觉很尴尬。。。有人知道到哪里去指出发电机的这个问题吗?在官方回购协议中注册Github发行可以吗

config.active_record.pluralize_table_names = false
# 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