我正在使用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
答案 0 :(得分:1)
我想我找到了答案。似乎使用minitest,rake test
不会在所有测试目录中运行测试。我在这里找到了一些答案:
Rails and MiniTest: add additional folder
我尝试运行rake test:all
并运行了我的测试。我不确定哪种解决方案我更喜欢。我可以继续以这种方式运行,或者我可以在模型或控制器下移动策略测试目录。
我刚刚安装了guard和guard-minitest,它实际监视我现有的所有测试并默认运行所有测试。所以我觉得现在一切都很好。