From 25eadf0c5bd05deb98f7ea0420fc5c63682cb989 Mon Sep 17 00:00:00 2001 From: Jeroen van Baarsen Date: Fri, 11 Apr 2014 13:31:37 +0200 Subject: Proposal for split testing --- lib/tasks/spec.rake | 41 +++++++++++++++++++------- spec/features/gitlab_flavored_markdown_spec.rb | 2 +- spec/models/assembla_service_spec.rb | 2 +- 3 files changed, 33 insertions(+), 12 deletions(-) diff --git a/lib/tasks/spec.rake b/lib/tasks/spec.rake index 90a1809914b..1f6ceca80bd 100644 --- a/lib/tasks/spec.rake +++ b/lib/tasks/spec.rake @@ -1,14 +1,35 @@ -Rake::Task["spec"].clear if Rake::Task.task_defined?('spec') +namespace :testing do + desc 'GITLAB | Run model specs' + task :models do + cmds = [ + %W(rake gitlab:setup), + %W(rspec spec --tag @models) + ] + run_commands(cmds) + end + + desc 'GITLAB | Run feature specs' + task :features do + cmds = [ + %W(rake gitlab:setup), + %W(rspec spec --tag @features) + ] + run_commands(cmds) + end -desc "GITLAB | Run specs" -task :spec do - cmds = [ - %W(rake gitlab:setup), - %W(rspec spec), - ] + desc 'GITLAB | Run other specs' + task :other do + cmds = [ + %W(rake gitlab:setup), + %W(rspec spec --tag ~@models --tag ~@features) + ] + run_commands(cmds) + end - cmds.each do |cmd| - system({'RAILS_ENV' => 'test', 'force' => 'yes'}, *cmd) - raise "#{cmd} failed!" unless $?.exitstatus.zero? + def run_commands(cmds) + cmds.each do |cmd| + system({'RAILS_ENV' => 'test', 'force' => 'yes'}, *cmd) + raise "#{cmd} failed!" unless $?.exitstatus.zero? + end end end diff --git a/spec/features/gitlab_flavored_markdown_spec.rb b/spec/features/gitlab_flavored_markdown_spec.rb index a507f0314c6..07be6b81441 100644 --- a/spec/features/gitlab_flavored_markdown_spec.rb +++ b/spec/features/gitlab_flavored_markdown_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -describe "GitLab Flavored Markdown" do +describe "GitLab Flavored Markdown", features: true do let(:project) { create(:project) } let(:issue) { create(:issue, project: project) } let(:merge_request) { create(:merge_request, source_project: project, target_project: project) } diff --git a/spec/models/assembla_service_spec.rb b/spec/models/assembla_service_spec.rb index 8b964bccc0b..acc08fc4d69 100644 --- a/spec/models/assembla_service_spec.rb +++ b/spec/models/assembla_service_spec.rb @@ -19,7 +19,7 @@ require 'spec_helper' -describe AssemblaService do +describe AssemblaService, models: true do describe "Associations" do it { should belong_to :project } it { should have_one :service_hook } -- cgit v1.2.1