Rakeタスクのテスト

Rakeタスクのテストを少し簡単にするために、標準のSpecヘルパーの代わりに含めることができるヘルパーがあります。require 'spec_helper'の代わりに、require 'rake_helper'を使用してください。 このヘルパーは、あなたのためにspec_helper を含み、Rakeタスクのテストを簡単にするために他のいくつかのことを設定します。

最低限、Rakeヘルパーが必要であれば、stdoutをリダイレクトし、ランタイムタスクヘルパーを含め、RakeHelpers Specサポートモジュールを含めます。

RakeHelpers モジュールは、run_rake_task(<task>) メソッドを公開し、タスクの実行を簡単にします。利用可能なすべてのメソッドについては、spec/support/helpers/rake_helpers.rb を参照してください。

使用例:

require 'rake_helper'

describe 'gitlab:shell rake tasks' do
  before do
    Rake.application.rake_require 'tasks/gitlab/shell'

    stub_warn_user_is_not_gitlab
  end

 describe 'install task' do
    it 'invokes create_hooks task' do
      expect(Rake::Task['gitlab:shell:create_hooks']).to receive(:invoke)

      run_rake_task('gitlab:shell:install')
    end
  end
end

テストドキュメントに戻る