Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.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 默认情况下,rails脚本/生成跳过不必要的文件_Ruby On Rails_Ruby_Rspec_Rails Generate - Fatal编程技术网

Ruby on rails 默认情况下,rails脚本/生成跳过不必要的文件

Ruby on rails 默认情况下,rails脚本/生成跳过不必要的文件,ruby-on-rails,ruby,rspec,rails-generate,Ruby On Rails,Ruby,Rspec,Rails Generate,自从我开始使用rspec等工具以来,Script/generate变得非常烦人。我不再需要单元测试文件和装置,但是Script/generate仍然可以使用它们 是否可以将--跳过夹具和--跳过测试设置为默认的系统范围(或至少是项目范围)?您可以编辑应用程序脚本/生成文件以自动附加选项 #!/usr/bin/env ruby ARGV << "--skip-fixture" if ["model"].include?(ARGV[0]) require File.dirname(_

自从我开始使用rspec等工具以来,Script/generate变得非常烦人。我不再需要单元测试文件和装置,但是Script/generate仍然可以使用它们


是否可以将
--跳过夹具
--跳过测试
设置为默认的系统范围(或至少是项目范围)?

您可以编辑应用程序脚本/生成文件以自动附加选项

#!/usr/bin/env ruby

ARGV << "--skip-fixture" if ["model"].include?(ARGV[0])

require File.dirname(__FILE__) + '/../config/boot'
require 'commands/generate'
#/usr/bin/env ruby
ARGV首先

ruby script/generate rspec_model
ruby script/generate rspec_controller
至少这不会生成单元测试,它可以为我提供规格:)

但是,skip Fixture仍然需要通过。我刚刚在.bash_配置文件中创建了自己的别名

alias model='ruby script/generate rspec_model $1 --skip-fixture'
那我就可以做了

model bar name:string active:boolean

这一切都很有效:)

我使用minitest_rails作为测试框架,您可以通过config/application.rb文件设置一些默认值

config.generators do |g|
  g.test_framework :mini_test, :spec => true, :fixture => false
end

当您生成模型(和控制器)时,它现在将自动跳过夹具。本例还将使用minitest_spec格式创建单元测试。

我喜欢您可以这样做,但我总是忘记,这就是为什么我会使用别名,所以我不必在任何地方都这样做。