名稱空間
方法
實體公開方法
create_generated_attribute(attribute_type, name = "test", index = nil) 連結
透過提供屬性類型,以及(選擇性)提供屬性名稱,來建立 Rails::Generators::GeneratedAttribute
create_generated_attribute(:string, "name")
generator(args = default_arguments, options = {}, config = {}) 連結
實例化產生器。
run_generator(args = default_arguments, config = {}) 連結
執行為此類別設定的產生器。第一個參數是類似於命令列參數的陣列
class AppGeneratorTest < Rails::Generators::TestCase
tests AppGenerator
destination File.expand_path("../tmp", __dir__)
setup :prepare_destination
test "database.yml is not created when skipping Active Record" do
run_generator %w(myapp --skip-active-record)
assert_no_file "config/database.yml"
end
end
你可以提供設定雜湊作為第二個參數。此方法會傳回產生器列印的輸出。
# File railties/lib/rails/generators/testing/behavior.rb, line 67 def run_generator(args = default_arguments, config = {}) args += ["--skip-bundle"] unless args.include?("--no-skip-bundle") || args.include?("--dev") args += ["--skip-bootsnap"] unless args.include?("--no-skip-bootsnap") || args.include?("--skip-bootsnap") if ENV["RAILS_LOG_TO_STDOUT"] == "true" generator_class.start(args, config.reverse_merge(destination_root: destination_root)) else capture(:stdout) do generator_class.start(args, config.reverse_merge(destination_root: destination_root)) end end end