Ruby on rails 使用Minitest存根任何_实例
我如何在不使用Mocha的任何_实例的情况下执行以下操作?我只想在不使用Rspec的情况下测试受保护的控制器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:
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