在Rails3中测试SQLite3的错误时惭惭授权:没有这样的表:能力:DELETE FROM“能力” WHERE 1 = 1

StackOverflow https://stackoverflow.com/questions/3410779

  •  25-09-2019
  •  | 
  •  

运行在Rails3中BETA4与惨惨默认的测试,当我有问题( http://github.com / ryanb /惭惭)。测试是纯香草自动生成的那些样子

测试“真”做   断言真 端

每一个测试(包括单元和功能)产生以下错误:

的ActiveRecord :: StatementInvalid:SQLite3的::的SQLException:没有这样的表:能力:DELETE FROM “能力” WHERE 1 = 1

此情况发生,即使一个使用和能力在test_helpers.rb定义

我假定这是由于用于授权能力模型惭惭用途,因为它是不持久(只是一个普通的Ruby类),因此没有表在DB中。也许事情是试图拆掉后的测试能力和错误地试图从数据库中删除的能力?如何检查这个(更重要的是,固定)?

再一次,有在测试中没有定制逻辑:它们是由Rails3中BETA4所产生

(FYI能力类不从ActiveRecord的::基地继承并且包括惭惭::能力又,应用程序 - 授权和所有 - 正常工作)

环境: - 红宝石1.8.7-P249 - 轨道3.0.0.beta4 - 康康舞1.2.0 - 色器件1.1.rc2

任何人碰到这个问题?

感谢您的帮助!

更新:试图切换到PostgreSQL。显然,错误是DB-独立的:运行时,得到了以下错误“耙测试”

的ActiveRecord :: StatementInvalid:PGError:错误:关系 “能力” 不存在 LINE 1:DELETE FROM “能力”                     ^ :DELETE FROM “能力”

有帮助吗?

解决方案

问题解决了:我有一个abilities.yml夹具文件。删除之后,误差消失。

http://github.com/ryanb/cancan/issues/closed #问题/ 109

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top