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 如何分离进行api调用的Rails Rspec测试_Ruby On Rails_Api_Rspec - Fatal编程技术网

Ruby on rails 如何分离进行api调用的Rails Rspec测试

Ruby on rails 如何分离进行api调用的Rails Rspec测试,ruby-on-rails,api,rspec,Ruby On Rails,Api,Rspec,我正在编写rspec特性测试,以进行实时api调用。我希望能够使用简单的命令rspec运行所有非api测试,然后以某种方式单独调用实时api测试。也许有一种方法可以使用ARGV,或者从通用rspec名称空间中排除一些测试,并且仍然具有完整的特性测试功能。有什么想法吗?您需要标记API规范,请查看RSpec文档: 如果要使用环境变量进行筛选: spec\u helper.rb RSpec.configure do |c| c.filter_run_excluding api: true unl

我正在编写rspec特性测试,以进行实时api调用。我希望能够使用简单的命令rspec运行所有非api测试,然后以某种方式单独调用实时api测试。也许有一种方法可以使用ARGV,或者从通用rspec名称空间中排除一些测试,并且仍然具有完整的特性测试功能。有什么想法吗?

您需要标记API规范,请查看RSpec文档:

如果要使用环境变量进行筛选:

spec\u helper.rb

RSpec.configure do |c|
  c.filter_run_excluding api: true unless ENV['ALL']
end
通过此设置,
rspec spec
命令将过滤掉标记为
api
的所有规范


如果您想运行整个套件,包括API规范
ALL=true rspec spec

为什么不使用vcr gem来记录API响应。所以它不需要再次点击api,againI也考虑过这一点,但我实际上想定期测试live api,以确保它们的方法没有改变,以及我的代码是否正常工作。这是一个很好的解决方案!我可以证实这个可爱的小方法非常有效。谢谢你,米哈伊尔。