right_develop 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.rspec +4 -0
- data/CHANGELOG.rdoc +3 -0
- data/Gemfile +26 -0
- data/Gemfile.lock +92 -0
- data/LICENSE +20 -0
- data/README.rdoc +50 -0
- data/Rakefile +67 -0
- data/VERSION +1 -0
- data/features/cucumber.feature +27 -0
- data/features/rake_integration.feature +27 -0
- data/features/rspec1.feature +67 -0
- data/features/rspec2.feature +67 -0
- data/features/step_definitions/http_client_steps.rb +27 -0
- data/features/step_definitions/request_balancer_steps.rb +93 -0
- data/features/step_definitions/ruby_steps.rb +206 -0
- data/features/step_definitions/serialization_steps.rb +96 -0
- data/features/step_definitions/server_steps.rb +134 -0
- data/features/support/env.rb +84 -0
- data/features/support/file_utils_bundler_mixin.rb +45 -0
- data/lib/right_develop.rb +32 -0
- data/lib/right_develop/ci.rb +40 -0
- data/lib/right_develop/ci/java_cucumber_formatter.rb +60 -0
- data/lib/right_develop/ci/java_spec_formatter.rb +191 -0
- data/lib/right_develop/ci/rake_task.rb +127 -0
- data/lib/right_develop/net.rb +60 -0
- data/lib/right_develop/parsers.rb +10 -0
- data/lib/right_develop/parsers/sax_parser.rb +139 -0
- data/lib/right_develop/parsers/xml_post_parser.rb +113 -0
- data/right_develop.gemspec +140 -0
- data/right_develop.rconf +8 -0
- data/spec/right_develop/parsers/sax_parser_spec.rb +202 -0
- data/spec/spec_helper.rb +28 -0
- metadata +593 -0
data/.rspec
ADDED
data/CHANGELOG.rdoc
ADDED
data/Gemfile
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
source "http://rubygems.org"
|
2
|
+
|
3
|
+
# Runtime dependencies of RightDevelop
|
4
|
+
gem "rake", [">= 0.8.7", "< 0.10"]
|
5
|
+
gem "right_support", "~> 2.0"
|
6
|
+
gem "builder", "~> 3.0"
|
7
|
+
gem "rspec", [">= 1.3", "< 3.0"]
|
8
|
+
gem "cucumber", "~> 1.0"
|
9
|
+
|
10
|
+
# Gems used during RightDevelop development that should be called out in the gemspec
|
11
|
+
group :development do
|
12
|
+
gem "jeweler", "~> 1.8.3"
|
13
|
+
gem "rdoc", ">= 2.4.2"
|
14
|
+
gem "syntax", "~> 1.0.0" #rspec will syntax-highlight code snippets if this gem is available
|
15
|
+
gem "nokogiri", "~> 1.5"
|
16
|
+
gem "flexmock", "~> 0.8.7", :require => nil
|
17
|
+
gem "activesupport"
|
18
|
+
gem "libxml-ruby", "~> 2.4.0"
|
19
|
+
end
|
20
|
+
|
21
|
+
# Gems that are only used locally by this repo to run tests and should NOT be called out in the gemspec
|
22
|
+
group :test do
|
23
|
+
gemspec
|
24
|
+
gem "ruby-debug", ">= 0.10", :platforms => :ruby_18
|
25
|
+
gem "ruby-debug19", ">= 0.11.6", :platforms => :ruby_19
|
26
|
+
end
|
data/Gemfile.lock
ADDED
@@ -0,0 +1,92 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
right_develop (1.1.0)
|
5
|
+
builder (~> 3.0)
|
6
|
+
cucumber (~> 1.0)
|
7
|
+
rake (>= 0.8.7, < 0.10)
|
8
|
+
right_support (~> 2.0)
|
9
|
+
rspec (>= 1.3, < 3.0)
|
10
|
+
|
11
|
+
GEM
|
12
|
+
remote: http://rubygems.org/
|
13
|
+
specs:
|
14
|
+
activesupport (3.2.11)
|
15
|
+
i18n (~> 0.6)
|
16
|
+
multi_json (~> 1.0)
|
17
|
+
archive-tar-minitar (0.5.2)
|
18
|
+
builder (3.1.4)
|
19
|
+
columnize (0.3.6)
|
20
|
+
cucumber (1.2.1)
|
21
|
+
builder (>= 2.1.2)
|
22
|
+
diff-lcs (>= 1.1.3)
|
23
|
+
gherkin (~> 2.11.0)
|
24
|
+
json (>= 1.4.6)
|
25
|
+
diff-lcs (1.1.3)
|
26
|
+
flexmock (0.8.11)
|
27
|
+
gherkin (2.11.6)
|
28
|
+
json (>= 1.7.6)
|
29
|
+
git (1.2.5)
|
30
|
+
i18n (0.6.1)
|
31
|
+
jeweler (1.8.4)
|
32
|
+
bundler (~> 1.0)
|
33
|
+
git (>= 1.2.5)
|
34
|
+
rake
|
35
|
+
rdoc
|
36
|
+
json (1.7.6)
|
37
|
+
libxml-ruby (2.4.0)
|
38
|
+
linecache (0.46)
|
39
|
+
rbx-require-relative (> 0.0.4)
|
40
|
+
linecache19 (0.5.12)
|
41
|
+
ruby_core_source (>= 0.1.4)
|
42
|
+
multi_json (1.5.0)
|
43
|
+
nokogiri (1.5.6)
|
44
|
+
rake (0.9.6)
|
45
|
+
rbx-require-relative (0.0.9)
|
46
|
+
rdoc (3.12.1)
|
47
|
+
json (~> 1.4)
|
48
|
+
right_support (2.6.17)
|
49
|
+
rspec (2.12.0)
|
50
|
+
rspec-core (~> 2.12.0)
|
51
|
+
rspec-expectations (~> 2.12.0)
|
52
|
+
rspec-mocks (~> 2.12.0)
|
53
|
+
rspec-core (2.12.2)
|
54
|
+
rspec-expectations (2.12.1)
|
55
|
+
diff-lcs (~> 1.1.3)
|
56
|
+
rspec-mocks (2.12.2)
|
57
|
+
ruby-debug (0.10.4)
|
58
|
+
columnize (>= 0.1)
|
59
|
+
ruby-debug-base (~> 0.10.4.0)
|
60
|
+
ruby-debug-base (0.10.4)
|
61
|
+
linecache (>= 0.3)
|
62
|
+
ruby-debug-base19 (0.11.25)
|
63
|
+
columnize (>= 0.3.1)
|
64
|
+
linecache19 (>= 0.5.11)
|
65
|
+
ruby_core_source (>= 0.1.4)
|
66
|
+
ruby-debug19 (0.11.6)
|
67
|
+
columnize (>= 0.3.1)
|
68
|
+
linecache19 (>= 0.5.11)
|
69
|
+
ruby-debug-base19 (>= 0.11.19)
|
70
|
+
ruby_core_source (0.1.5)
|
71
|
+
archive-tar-minitar (>= 0.5.2)
|
72
|
+
syntax (1.0.0)
|
73
|
+
|
74
|
+
PLATFORMS
|
75
|
+
ruby
|
76
|
+
|
77
|
+
DEPENDENCIES
|
78
|
+
activesupport
|
79
|
+
builder (~> 3.0)
|
80
|
+
cucumber (~> 1.0)
|
81
|
+
flexmock (~> 0.8.7)
|
82
|
+
jeweler (~> 1.8.3)
|
83
|
+
libxml-ruby (~> 2.4.0)
|
84
|
+
nokogiri (~> 1.5)
|
85
|
+
rake (>= 0.8.7, < 0.10)
|
86
|
+
rdoc (>= 2.4.2)
|
87
|
+
right_develop!
|
88
|
+
right_support (~> 2.0)
|
89
|
+
rspec (>= 1.3, < 3.0)
|
90
|
+
ruby-debug (>= 0.10)
|
91
|
+
ruby-debug19 (>= 0.11.6)
|
92
|
+
syntax (~> 1.0.0)
|
data/LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright (c) 2013- RightScale, Inc.
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
'Software'), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
17
|
+
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
18
|
+
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
19
|
+
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
20
|
+
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.rdoc
ADDED
@@ -0,0 +1,50 @@
|
|
1
|
+
RightDevelop is a library of reusable, unit- and functional-tested Ruby code that RightScale has found broadly useful.
|
2
|
+
|
3
|
+
== What Does It Do?
|
4
|
+
|
5
|
+
=== Continuous Integration
|
6
|
+
|
7
|
+
Jenkins groks JUnit XML test results very well, and has lots of hidden features associated with them. Tests are tests,
|
8
|
+
so we've written an RSpec formatter that Jenkins will feel right at home with!
|
9
|
+
|
10
|
+
To use our CI harness, just add the following to your Rakefile (or into lib/tasks/ci.rake):
|
11
|
+
|
12
|
+
require 'right_develop'
|
13
|
+
RightDevelop::CI::RakeTask.new
|
14
|
+
|
15
|
+
==== Customizing your CI Harness
|
16
|
+
|
17
|
+
You can override various aspects of the CI harness' behavior by passing a block to the constructor which
|
18
|
+
tweaks various instance variables of the resulting Rake task:
|
19
|
+
|
20
|
+
RightDevelop::CI::RakeTask.new do |task|
|
21
|
+
task.ci_namespace = :my_happy_ci
|
22
|
+
task.rspec_pattern = "spec/important/**/*_spec.rb" # only run the important specs for CI
|
23
|
+
task.output_path = "ci_results" # use ci_results as the base dir for all output files
|
24
|
+
task.rspec_output = "happy_specs.xml" # write to ci_results/rspec/happy_specs.xml
|
25
|
+
end
|
26
|
+
|
27
|
+
==== Keeping the CI Harness Out of Production
|
28
|
+
|
29
|
+
We recommend that you don't install RightDevelop -- or other test-only gems such as rspec -- when you deploy
|
30
|
+
your code to production. This improves the startup time and performance of your app, and prevents instability
|
31
|
+
due to potential bugs in test code.
|
32
|
+
|
33
|
+
To prevent RightDevelop from shipping to production, simply put it in the "development" group of your Gemfile:
|
34
|
+
|
35
|
+
group :development do
|
36
|
+
gem 'right_develop'
|
37
|
+
end
|
38
|
+
|
39
|
+
And ensure that you deploy your code using Bundler's --without flag:
|
40
|
+
|
41
|
+
bundle install --deployment --without development
|
42
|
+
|
43
|
+
And finally, modify your Rakefile so you can tolerate the absence of the RightDevelop rake classes. For this,
|
44
|
+
you can use RightSupport's Kernel#require_succeeds? extension to conditionally instantiate the Rake tasks:
|
45
|
+
|
46
|
+
require 'right_support'
|
47
|
+
|
48
|
+
if require_succeeds?('right_develop')
|
49
|
+
RightDevelop::CI::RakeTask.new
|
50
|
+
end
|
data/Rakefile
ADDED
@@ -0,0 +1,67 @@
|
|
1
|
+
# -*-ruby-*-
|
2
|
+
require 'rubygems'
|
3
|
+
require 'bundler/setup'
|
4
|
+
|
5
|
+
require 'rake'
|
6
|
+
require 'rdoc/task'
|
7
|
+
require 'rubygems/package_task'
|
8
|
+
|
9
|
+
require 'rake/clean'
|
10
|
+
require 'rspec/core/rake_task'
|
11
|
+
require 'cucumber/rake/task'
|
12
|
+
|
13
|
+
# We use RightDevelop's CI harness in its own Rakefile. Hooray dogfood!
|
14
|
+
require 'right_develop'
|
15
|
+
|
16
|
+
# But, we have a very special need, because OUR Cucumbers need to run with a pristine
|
17
|
+
# environment that isn't polluted by RVM or RubyGems or anyone else, in order to validate
|
18
|
+
# that RightDevelop's CI harness doesn't break your app if those gems are unavailable.
|
19
|
+
# Thus when our own Rake task runs spec or cucumber as a subprocess, we need to give it
|
20
|
+
# a pristine non-bundled environment, so it can use Bundler.with_clean_env to launch
|
21
|
+
# subprocesses.
|
22
|
+
require File.expand_path('../features/support/file_utils_bundler_mixin', __FILE__)
|
23
|
+
|
24
|
+
desc "Run unit tests"
|
25
|
+
task :default => :spec
|
26
|
+
|
27
|
+
desc "Run unit tests"
|
28
|
+
RSpec::Core::RakeTask.new do |t|
|
29
|
+
t.pattern = Dir['**/*_spec.rb']
|
30
|
+
end
|
31
|
+
|
32
|
+
desc "Run functional tests"
|
33
|
+
Cucumber::Rake::Task.new do |t|
|
34
|
+
t.cucumber_opts = %w{--color --format pretty}
|
35
|
+
end
|
36
|
+
|
37
|
+
desc 'Generate documentation for the right_develop gem.'
|
38
|
+
Rake::RDocTask.new(:rdoc) do |rdoc|
|
39
|
+
rdoc.rdoc_dir = 'doc'
|
40
|
+
rdoc.title = 'RightDevelop'
|
41
|
+
rdoc.options << '--line-numbers' << '--inline-source'
|
42
|
+
rdoc.rdoc_files.include('README.rdoc')
|
43
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
44
|
+
rdoc.rdoc_files.exclude('features/**/*')
|
45
|
+
rdoc.rdoc_files.exclude('spec/**/*')
|
46
|
+
end
|
47
|
+
|
48
|
+
require 'jeweler'
|
49
|
+
Jeweler::Tasks.new do |gem|
|
50
|
+
# gem is a Gem::Specification; see http://docs.rubygems.org/read/chapter/20 for more options
|
51
|
+
gem.name = "right_develop"
|
52
|
+
gem.homepage = "https://github.com/rightscale/right_develop"
|
53
|
+
gem.license = "MIT"
|
54
|
+
gem.summary = %Q{Reusable dev & test code.}
|
55
|
+
gem.description = %Q{A toolkit of development tools created by RightScale.}
|
56
|
+
gem.email = "support@rightscale.com"
|
57
|
+
gem.authors = ["Tony Spataro"]
|
58
|
+
gem.rubygems_version = "1.3.7"
|
59
|
+
end
|
60
|
+
|
61
|
+
# This is a closed-source gem; omit gemcutter tasks so people don't accidentally
|
62
|
+
# push this gem to the public!
|
63
|
+
#Jeweler::RubygemsDotOrgTasks.new
|
64
|
+
|
65
|
+
CLEAN.include('pkg')
|
66
|
+
|
67
|
+
RightDevelop::CI::RakeTask.new
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
1.1.0
|
@@ -0,0 +1,27 @@
|
|
1
|
+
Feature: Cucumber 1.x support
|
2
|
+
In order to facilitate TDD and enhance code quality
|
3
|
+
RightDevelop should provide CI tasks with Cucumber with JUnit XML output
|
4
|
+
So any Ruby project can have a beautiful, info-rich Jenkins project
|
5
|
+
|
6
|
+
Background:
|
7
|
+
Given a Ruby application
|
8
|
+
And a Gemfile
|
9
|
+
And a gem dependency on 'rake ~> 0.9'
|
10
|
+
And a gem dependency on 'cucumber ~> 1.0'
|
11
|
+
And the Rakefile contains a RightDevelop::CI::RakeTask
|
12
|
+
|
13
|
+
Scenario: passing Cucumber features
|
14
|
+
Given a trivial Cucumber feature
|
15
|
+
When I install the bundle
|
16
|
+
And I rake 'ci:cucumber'
|
17
|
+
Then the command should succeed
|
18
|
+
And the output should contain '** Execute ci:cucumber'
|
19
|
+
And the directory 'measurement/cucumber' should contain files
|
20
|
+
|
21
|
+
Scenario: failing Cucumber features
|
22
|
+
Given a trivial failing Cucumber feature
|
23
|
+
When I install the bundle
|
24
|
+
And I rake 'ci:cucumber'
|
25
|
+
Then the command should fail
|
26
|
+
And the output should contain '** Execute ci:cucumber'
|
27
|
+
And the directory 'measurement/cucumber' should contain files
|
@@ -0,0 +1,27 @@
|
|
1
|
+
Feature: basic Rake integration
|
2
|
+
In order to promote predictable, reliable Continuous Integration
|
3
|
+
RightDevelop should expose a "ci:" Rake namespace
|
4
|
+
|
5
|
+
Background:
|
6
|
+
Given a Ruby application
|
7
|
+
And a Gemfile
|
8
|
+
And a gem dependency on 'rake ~> 0.9'
|
9
|
+
|
10
|
+
Scenario: list Rake tasks
|
11
|
+
Given the Rakefile contains a RightDevelop::CI::RakeTask
|
12
|
+
When I install the bundle
|
13
|
+
And I rake '-T'
|
14
|
+
And the output should contain 'ci:cucumber'
|
15
|
+
And the output should contain 'ci:spec'
|
16
|
+
|
17
|
+
Scenario: override namespace
|
18
|
+
Given the Rakefile contains:
|
19
|
+
"""
|
20
|
+
RightDevelop::CI::RakeTask.new do |task|
|
21
|
+
task.ci_namespace = :funkalicious
|
22
|
+
end
|
23
|
+
"""
|
24
|
+
When I install the bundle
|
25
|
+
And I rake '-T'
|
26
|
+
Then the output should contain 'funkalicious:cucumber'
|
27
|
+
Then the output should contain 'funkalicious:spec'
|
@@ -0,0 +1,67 @@
|
|
1
|
+
Feature: RSpec 1.x support
|
2
|
+
In order to facilitate TDD and enhance code quality
|
3
|
+
RightDevelop should provide a Rake CI harness with JUnit XML output
|
4
|
+
So any Ruby project can have a beautiful, info-rich Jenkins project
|
5
|
+
|
6
|
+
Background:
|
7
|
+
Given a Ruby application
|
8
|
+
And a Gemfile
|
9
|
+
And a gem dependency on 'rake ~> 0.9'
|
10
|
+
And a gem dependency on 'rspec ~> 1.0'
|
11
|
+
And the Rakefile contains a RightDevelop::CI::RakeTask
|
12
|
+
|
13
|
+
Scenario: passing examples
|
14
|
+
Given a trivial RSpec spec
|
15
|
+
When I install the bundle
|
16
|
+
And I rake 'ci:spec'
|
17
|
+
Then the command should succeed
|
18
|
+
And the file 'measurement/rspec/rspec.xml' should mention 2 passing test cases
|
19
|
+
And the file 'measurement/rspec/rspec.xml' should mention 0 failing test cases
|
20
|
+
|
21
|
+
Scenario: failing examples
|
22
|
+
Given a trivial failing RSpec spec
|
23
|
+
When I install the bundle
|
24
|
+
And I rake 'ci:spec'
|
25
|
+
Then the command should fail
|
26
|
+
And the file 'measurement/rspec/rspec.xml' should mention 2 passing test cases
|
27
|
+
And the file 'measurement/rspec/rspec.xml' should mention 1 failing test case
|
28
|
+
|
29
|
+
Scenario: override input file pattern
|
30
|
+
Given an RSpec spec named 'passing_spec.rb' with content:
|
31
|
+
"""
|
32
|
+
describe String do
|
33
|
+
it 'is cool' do
|
34
|
+
'cool'.should == 'cool'
|
35
|
+
end
|
36
|
+
end
|
37
|
+
"""
|
38
|
+
And an RSpec spec named 'failing_spec.rb' with content:
|
39
|
+
"""
|
40
|
+
describe String do
|
41
|
+
it 'is uncool' do
|
42
|
+
'cool'.should == 'uncool'
|
43
|
+
end
|
44
|
+
end
|
45
|
+
"""
|
46
|
+
And the Rakefile contains:
|
47
|
+
"""
|
48
|
+
RightDevelop::CI::RakeTask.new do |task|
|
49
|
+
task.rspec_pattern = 'spec/passing_spec.rb'
|
50
|
+
end
|
51
|
+
"""
|
52
|
+
When I install the bundle
|
53
|
+
And I rake 'ci:spec'
|
54
|
+
Then the command should succeed
|
55
|
+
|
56
|
+
Scenario: override output file location
|
57
|
+
Given a trivial RSpec spec
|
58
|
+
And the Rakefile contains:
|
59
|
+
"""
|
60
|
+
RightDevelop::CI::RakeTask.new do |task|
|
61
|
+
task.rspec_output = 'awesome.xml'
|
62
|
+
end
|
63
|
+
"""
|
64
|
+
When I install the bundle
|
65
|
+
And I rake 'ci:spec'
|
66
|
+
Then the command should succeed
|
67
|
+
And the file 'measurement/rspec/awesome.xml' should exist
|
@@ -0,0 +1,67 @@
|
|
1
|
+
Feature: RSpec 2.x support
|
2
|
+
In order to facilitate TDD and enhance code quality
|
3
|
+
RightDevelop should provide a Rake CI harness with JUnit XML output
|
4
|
+
So any Ruby project can have a beautiful, info-rich Jenkins project
|
5
|
+
|
6
|
+
Background:
|
7
|
+
Given a Ruby application
|
8
|
+
And a Gemfile
|
9
|
+
And a gem dependency on 'rake ~> 0.9'
|
10
|
+
And a gem dependency on 'rspec ~> 2.0'
|
11
|
+
And the Rakefile contains a RightDevelop::CI::RakeTask
|
12
|
+
|
13
|
+
Scenario: passing examples
|
14
|
+
And a trivial RSpec spec
|
15
|
+
When I install the bundle
|
16
|
+
And I rake 'ci:spec'
|
17
|
+
Then the command should succeed
|
18
|
+
And the file 'measurement/rspec/rspec.xml' should mention 2 passing test cases
|
19
|
+
And the file 'measurement/rspec/rspec.xml' should mention 0 failing test cases
|
20
|
+
|
21
|
+
Scenario: failing examples
|
22
|
+
And a trivial failing RSpec spec
|
23
|
+
When I install the bundle
|
24
|
+
And I rake 'ci:spec'
|
25
|
+
Then the command should fail
|
26
|
+
And the file 'measurement/rspec/rspec.xml' should mention 2 passing test cases
|
27
|
+
And the file 'measurement/rspec/rspec.xml' should mention 1 failing test case
|
28
|
+
|
29
|
+
Scenario: override input file pattern
|
30
|
+
Given an RSpec spec named 'passing_spec.rb' with content:
|
31
|
+
"""
|
32
|
+
describe String do
|
33
|
+
it 'is cool' do
|
34
|
+
'cool'.should == 'cool'
|
35
|
+
end
|
36
|
+
end
|
37
|
+
"""
|
38
|
+
And an RSpec spec named 'failing_spec.rb' with content:
|
39
|
+
"""
|
40
|
+
describe String do
|
41
|
+
it 'is uncool' do
|
42
|
+
'cool'.should == 'uncool'
|
43
|
+
end
|
44
|
+
end
|
45
|
+
"""
|
46
|
+
And the Rakefile contains:
|
47
|
+
"""
|
48
|
+
RightDevelop::CI::RakeTask.new do |task|
|
49
|
+
task.rspec_pattern = 'spec/passing_spec.rb'
|
50
|
+
end
|
51
|
+
"""
|
52
|
+
When I install the bundle
|
53
|
+
And I rake 'ci:spec'
|
54
|
+
Then the command should succeed
|
55
|
+
|
56
|
+
Scenario: override output file location
|
57
|
+
Given a trivial RSpec spec
|
58
|
+
And the Rakefile contains:
|
59
|
+
"""
|
60
|
+
RightDevelop::CI::RakeTask.new do |task|
|
61
|
+
task.rspec_output = 'awesome.xml'
|
62
|
+
end
|
63
|
+
"""
|
64
|
+
When I install the bundle
|
65
|
+
And I rake 'ci:spec'
|
66
|
+
Then the command should succeed
|
67
|
+
And the file 'measurement/rspec/awesome.xml' should exist
|