Rake task 테스트
GitLab v19.1Rake task 테스트를 좀 더 쉽게 하려면 다음 중 하나를 사용하세요: RSpec의 메타데이터 태그 type: :task를 사용하거나, spec/tasks 또는 ee/spec/tasks에 스펙 파일을 배치하세요. 이렇게 하면 RakeHelpers가 포함되어, task 실행을 가능하게 하는 run_rake_task(<task>) 메서드가 노출됩니다.
Rake task 테스트를 좀 더 쉽게 하려면 다음 중 하나를 사용하세요:
-
RSpec의 메타데이터 태그
type: :task를 사용하거나, -
spec/tasks또는ee/spec/tasks에 스펙 파일을 배치하세요.
이렇게 하면 RakeHelpers가 포함되어, task 실행을 가능하게 하는 run_rake_task(<task>) 메서드가 노출됩니다.
사용 가능한 모든 메서드는 spec/support/helpers/rake_helpers.rb를 참조하세요.
:silence_stdout를 추가하면 $stdout을 리다이렉트할 수 있습니다. $stdout과 $stderr 모두를 억제하려면 :silence_output을 대신 사용하세요.
예시:
require 'spec_helper'
describe 'gitlab:shell rake tasks', :silence_stdout 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