为什么我的Pundit Policy最小测试用例没有使用rake测试?

时间:2014-03-15 19:27:47

标签: ruby-on-rails unit-testing rake minitest pundit

我正在使用Rails 4.1和Pundit gem。我为UserPolicy类创建了一个UserPolicyTest类。但是当我运行rake测试时,类中的所有测试都没有运行。我也在尝试使用迷你测试。我找不到关于父类应该是什么的任何文档。我也试过扩展MiniTest :: Unit:TestCase,但这也没有用。下面是test / policies文件夹中的测试类。名称为user_policy_test.rb。我删除了文件中的一些测试以节省空间。

require 'test_helper'

class UserPolicyTest < ActiveSupport::TestCase

  def setup
    @user = users(:regularuser)
    @admin = users(:admin)
    @admin.role = :admin
  end

  def test_index
    policy = UserPolicy.new @admin, nil
    refute policy.index?
  end
end

1 个答案:

答案 0 :(得分:1)

我想我找到了答案。似乎使用minitest,rake test不会在所有测试目录中运行测试。我在这里找到了一些答案:

Rails and MiniTest: add additional folder

我尝试运行rake test:all并运行了我的测试。我不确定哪种解决方案我更喜欢。我可以继续以这种方式运行,或者我可以在模型或控制器下移动策略测试目录。

我刚刚安装了guard和guard-minitest,它实际监视我现有的所有测试并默认运行所有测试。所以我觉得现在一切都很好。