Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 使用Minitest存根任何_实例_Ruby On Rails_Mocha.js_Minitest_Doorkeeper - Fatal编程技术网

Ruby on rails 使用Minitest存根任何_实例

Ruby on rails 使用Minitest存根任何_实例,ruby-on-rails,mocha.js,minitest,doorkeeper,Ruby On Rails,Mocha.js,Minitest,Doorkeeper,我如何在不使用Mocha的任何_实例的情况下执行以下操作?我只想在不使用Rspec的情况下测试受保护的控制器 class PortfoliosControllerTest < ActionController::TestCase setup do @portfolio = portfolios(:p2) user = @portfolio.user token = Doorkeeper::AccessToken.create!(application_id:

我如何在不使用Mocha的任何_实例的情况下执行以下操作?我只想在不使用Rspec的情况下测试受保护的控制器

class PortfoliosControllerTest < ActionController::TestCase

  setup do
    @portfolio = portfolios(:p2)
    user = @portfolio.user

    token = Doorkeeper::AccessToken.create!(application_id: 'minitest',
                                            resource_owner_id: user.id)
    PortfoliosController.any_instance.stubs(:doorkeeper_token).returns(token)
  end
end
类PortfolioControllerTest
您不需要存根PortfolioController的任何实例,只需要测试正在使用的实例。这在
@controller
变量中可用,如中所述

类PortfolioControllerTest
我建议退房。会允许你做一些像

class PortfoliosControllerTest < ActionController::TestCase
  def cool_test
    PortfoliosController.stub_any_instance(:doorkeeper_token, token) do
      # Assert whatever you were going to assert
    end
  end
end
类PortfolioControllerTest

不用担心
设置也很不错。

没有摩卡咖啡版本的“blowmage”答案

 class PortfoliosControllerTest < ActionController::TestCase

  setup do
    @portfolio = portfolios(:p2)
    user = @portfolio.user

    token = Doorkeeper::AccessToken.create!(application_id: 'minitest',
                                            resource_owner_id: user.id)
    @controller.stub(:doorkeeper_token,token) do
      #do your tests
    end
  end
end
类PortfolioControllerTest

请参见#`现在我想,我只需要用正确的方法在Minitest中存根。如果您需要摩卡咖啡,
。存根将可用。
。这个错误让我觉得你没有装摩卡咖啡。不需要摩卡咖啡是我问题的一部分。我怎样才能只用Minitest来做呢?因为控制器测试是rails 5中的集成测试,所以这将不再有效#Sadpandah您见过这个没有库的存根解决方案吗?
 class PortfoliosControllerTest < ActionController::TestCase

  setup do
    @portfolio = portfolios(:p2)
    user = @portfolio.user

    token = Doorkeeper::AccessToken.create!(application_id: 'minitest',
                                            resource_owner_id: user.id)
    @controller.stub(:doorkeeper_token,token) do
      #do your tests
    end
  end
end