Rails cancan(可以)不识别测试数据库中的数据

时间:2016-02-15 22:58:31

标签: ruby-on-rails cancan cancancan

我已经定义了一个彻底的ability.rb正常工作。但是,当我编写一个向端点发送请求的控制器规范时,cancan(可以)会重复返回403。

在相应部分的ability.rb中处理我正在测试的端点,输出{Model}.all.to_json时输出一个空数组。

如何解决这个问题,以便识别我的测试数据库中的数据,或更改我的测试以绕过它?

2 个答案:

答案 0 :(得分:0)

每次迭代都会重置测试数据库中的数据。如果要使用某些特定状态(例如数据),则必须在测试过程中重新创建该状态。

根据测试框架,使用beforesetup挂钩在测试本身执行之前在测试套件中创建所需的数据。

答案 1 :(得分:0)

在深入了解我的代码之后,我意识到我没有通过灯具创建的一些数据未通过验证,因此无法创建。

我的测试环境设置正确,但我没有create!调用,而是create调用,导致验证错误无法明确。