【问题标题】:Rails cancan(can) not recognizing data in test databaseRails cancan(can)无法识别测试数据库中的数据
【发布时间】:2016-02-15 22:58:31
【问题描述】:

我有一个彻底的ability.rb 定义,它工作正常。但是,当我编写向端点发送请求的控制器规范时,cancan(can) 反复返回 403。

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

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

【问题讨论】:

    标签: ruby-on-rails cancan cancancan


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      在仔细检查了我的代码之后,我意识到我没有通过固定装置创建的一点数据没有通过验证,因此没有被创建。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多