5

RSpec::Core::RakeTask を使用して RSpec Rake タスクを初期化するにはどうすればよいですか?

「rspec/core/rake_task」が必要です

RSpec::Core::RakeTask.new do |t|
  # ここに何を入れますか?
終わり

http://rubydoc.info/github/rspec/rspec-core/RSpec/Core/RakeTask#initialize-instance_methodで文書化されている Initialize 関数 は、十分に文書化されていません。それはただ言う:

- (RakeTask) initialize(*args, &task_block)

RakeTask の新しいインスタンス

*args と &task_block には何を入力すればよいですか?

私は、RSpec と Rake を組み合わせて使用​​する PHP プロジェクト用の ruby​​ 自動化の構築をすでに開始している誰かの足跡をたどっています。私は Rake なしで RSpec を使用することに慣れているため、構文に慣れていません。

ありがとう、-ケビン

4

2 に答える 2

6

これが私のRakefileの例です:

require 'rspec/core/rake_task'

task :default => [:spec]

desc "Run the specs."
RSpec::Core::RakeTask.new do |t|
  t.pattern = "spec.rb"
end

desc "Run the specs whenever a relevant file changes."
task :watch do
  system "watchr watch.rb"
end

これにより、Rake から spec.rb ファイルで定義されたスペックを実行できます。

于 2013-06-10T14:51:54.170 に答える
4

これは私のrakefileがどのように見えるかです

gem 'rspec', '~>3'
require 'rspec/core/rake_task'

task :default => :spec

desc "run tests for this app"
RSpec::Core::RakeTask.new do |task|
  test_dir = Rake.application.original_dir
  task.pattern = "#{test_dir}/*_spec.rb"
  task.rspec_opts = [ "-I#{test_dir}", "-I#{test_dir}/source", '-f documentation', '-r ./rspec_config']
  task.verbose = false
end

テスト ディレクトリから「rake」すると、[something]_spec.rb という名前のすべてのテストが実行されます。これは、さまざまなテスト ディレクトリ (たとえば、さまざまなプロジェクト) で動作するはずです。別のディレクトリにソースがある場合 (たとえば、上記のコードでは、「/source」というサブディレクトリがそれらを取得します。明らかに、そのソース ディレクトリを必要なものに変更できます。

私が使用する rspec_config ファイルは次のとおりです。ここに独自の設定を追加できます。

RSpec.configure do |c|
  c.fail_fast = true
  c.color = true
end
于 2015-11-21T14:22:23.103 に答える