rspec-retry 0.1.0 → 0.2.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/README.md +6 -0
- data/lib/rspec/retry.rb +9 -0
- data/lib/rspec/retry/version.rb +1 -1
- data/lib/rspec_ext/rspec_ext.rb +11 -0
- data/spec/lib/rspec/retry_spec.rb +20 -0
- metadata +8 -8
data/README.md
CHANGED
@@ -41,6 +41,12 @@ end
|
|
41
41
|
# RSpec::Retry: 3rd try ./spec/lib/random_spec.rb:49
|
42
42
|
```
|
43
43
|
|
44
|
+
## Configuration
|
45
|
+
|
46
|
+
- __:verbose_retry__(default: *false*) Print retry status
|
47
|
+
- __:default_retry_count__(default: *1*) If retry count is not set in example, this value is used by default
|
48
|
+
- __:clear_lets_on_failure__(default: *true*) Clear memoized value for ``let`` before retrying
|
49
|
+
|
44
50
|
## Contributing
|
45
51
|
|
46
52
|
1. Fork it
|
data/lib/rspec/retry.rb
CHANGED
@@ -7,8 +7,14 @@ module RSpec
|
|
7
7
|
RSpec.configure do |config|
|
8
8
|
config.add_setting :verbose_retry, :default => false
|
9
9
|
config.add_setting :default_retry_count, :default => 1
|
10
|
+
config.add_setting :clear_lets_on_failure, :default => true
|
11
|
+
|
10
12
|
config.around(:each) do |example|
|
11
13
|
retry_count = example.metadata[:retry] || RSpec.configuration.default_retry_count
|
14
|
+
|
15
|
+
clear_lets = example.metadata[:clear_lets_on_failure]
|
16
|
+
clear_lets = RSpec.configuration.clear_lets_on_failure if clear_lets.nil?
|
17
|
+
|
12
18
|
retry_count.times do |i|
|
13
19
|
if RSpec.configuration.verbose_retry?
|
14
20
|
if i > 0
|
@@ -19,7 +25,10 @@ module RSpec
|
|
19
25
|
end
|
20
26
|
@example.clear_exception
|
21
27
|
example.run
|
28
|
+
|
22
29
|
break if @example.exception.nil?
|
30
|
+
|
31
|
+
self.clear_lets if clear_lets
|
23
32
|
end
|
24
33
|
end
|
25
34
|
end
|
data/lib/rspec/retry/version.rb
CHANGED
data/lib/rspec_ext/rspec_ext.rb
CHANGED
@@ -50,4 +50,24 @@ describe RSpec::Retry do
|
|
50
50
|
rand(3).should == 1
|
51
51
|
end
|
52
52
|
end
|
53
|
+
|
54
|
+
describe 'clearing lets' do
|
55
|
+
before(:all) do
|
56
|
+
@control = true
|
57
|
+
end
|
58
|
+
|
59
|
+
let(:let_based_on_control) { @control }
|
60
|
+
|
61
|
+
after do
|
62
|
+
@control = false
|
63
|
+
end
|
64
|
+
|
65
|
+
it 'should clear the let when the test fails so it can be reset', :retry => 2 do
|
66
|
+
let_based_on_control.should == false
|
67
|
+
end
|
68
|
+
|
69
|
+
it 'should not clear the let when the test fails', :retry => 2, :clear_lets_on_failure => false do
|
70
|
+
let_based_on_control.should == !@control
|
71
|
+
end
|
72
|
+
end
|
53
73
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspec-retry
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-02-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
16
|
-
requirement: &
|
16
|
+
requirement: &70095924091300 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70095924091300
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: guard-rspec
|
27
|
-
requirement: &
|
27
|
+
requirement: &70095924090880 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70095924090880
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: pry-debugger
|
38
|
-
requirement: &
|
38
|
+
requirement: &70095924090460 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70095924090460
|
47
47
|
description: retry randomly failing example
|
48
48
|
email:
|
49
49
|
- y310.1984@gmail.com
|