minitest-around 0.3.1 → 0.3.2
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.
- checksums.yaml +4 -4
- data/Rakefile +1 -1
- data/features/around_spec.feature +32 -5
- data/features/step_definitions/around_steps.rb +4 -3
- data/features/support/env.rb +3 -3
- data/lib/minitest/around/version.rb +1 -1
- data/minitest-around.gemspec +0 -1
- data/test/nested_spec.rb +12 -12
- data/test/nested_test.rb +11 -12
- metadata +3 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 58fd3c77c52798c76e4b1ee4ea7c52e48cc38d2b
|
4
|
+
data.tar.gz: e640ebafb486d4c355e850679ad68d9472b3b6f8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bceba5d95427bffd1fc6488fc36d8f1e259d1084b5648ec2c080b9adf6da079a14d35c983c3a670d6cc1db8b0044ef59c483e7fb2ef28ff9c68873a36d632407
|
7
|
+
data.tar.gz: 8915f7bc547c3b2db4481f1038d943bbc0c98d6740123805e5647df7f6bef11b3279b7ed15ddaad7ebbc8b7b8872f0377eab3dbab025dca4ac4ac093ba64972e
|
data/Rakefile
CHANGED
@@ -86,6 +86,29 @@ Feature: `around` hooks
|
|
86
86
|
When I run `rspec example_spec.rb`
|
87
87
|
Then the output should contain "this should show up in the output"
|
88
88
|
|
89
|
+
Scenario: An around hook continues to run even if the example throws an exception
|
90
|
+
Given a file named "example_spec.rb" with:
|
91
|
+
"""ruby
|
92
|
+
RSpec.describe "something" do
|
93
|
+
around(:example) do |example|
|
94
|
+
puts "around example setup"
|
95
|
+
example.run
|
96
|
+
puts "around example cleanup"
|
97
|
+
end
|
98
|
+
|
99
|
+
it "still executes the entire around hook" do
|
100
|
+
fail "the example blows up"
|
101
|
+
end
|
102
|
+
end
|
103
|
+
"""
|
104
|
+
When I run `rspec example_spec.rb`
|
105
|
+
Then the output should contain "1 example, 1 error"
|
106
|
+
And the output should contain:
|
107
|
+
"""
|
108
|
+
around example setup
|
109
|
+
around example cleanup
|
110
|
+
"""
|
111
|
+
|
89
112
|
@rspec
|
90
113
|
Scenario: Define a global `around` hook
|
91
114
|
Given a file named "example_spec.rb" with:
|
@@ -220,9 +243,11 @@ Feature: `around` hooks
|
|
220
243
|
Then the output should contain "1 example, 0 failures, 1 pending"
|
221
244
|
And the output should contain:
|
222
245
|
"""
|
223
|
-
Pending:
|
224
|
-
|
225
|
-
|
246
|
+
Pending: (Failures listed here are expected and do not affect your suite's status)
|
247
|
+
|
248
|
+
1) implicit pending example should be detected as Not yet implemented
|
249
|
+
# Not yet implemented
|
250
|
+
# ./example_spec.rb:6
|
226
251
|
"""
|
227
252
|
|
228
253
|
|
@@ -245,8 +270,10 @@ Feature: `around` hooks
|
|
245
270
|
Then the output should contain "1 example, 0 failures, 1 pending"
|
246
271
|
And the output should contain:
|
247
272
|
"""
|
248
|
-
|
249
|
-
|
273
|
+
Pending: (Failures listed here are expected and do not affect your suite's status)
|
274
|
+
|
275
|
+
1) explicit pending example should be detected as pending
|
276
|
+
# No reason given
|
250
277
|
"""
|
251
278
|
|
252
279
|
Scenario: Multiple `around` hooks in the same scope
|
@@ -10,14 +10,15 @@ When(/^I run `rspec.*?(\S+)`$/) do |filename|
|
|
10
10
|
end
|
11
11
|
|
12
12
|
Then(/^the output should contain:$/) do |content|
|
13
|
-
assert_includes @output, content
|
13
|
+
assert_includes @output, content, @output
|
14
14
|
end
|
15
15
|
|
16
16
|
Then(/^the output should contain "(.*?)"$/) do |content|
|
17
17
|
# 1 runs, 0 assertions, 0 failures, 0 errors, 0 skips
|
18
18
|
runs = $1 if content =~ /(\d+) examples?/
|
19
|
+
errors = $1 if content =~ /(\d+) errors?/
|
19
20
|
failures = $1 if content =~ /(\d+) failures?/
|
20
21
|
skips = $1 if content =~ /(\d+) pending/
|
21
|
-
content = /#{runs} runs, \d+ assertions, #{failures} failures, 0 errors, #{skips || 0} skips/
|
22
|
-
assert_match content, @output
|
22
|
+
content = /#{runs} runs, \d+ assertions, #{failures || 0} failures, #{errors || 0} errors, #{skips || 0} skips/
|
23
|
+
assert_match content, @output, @output
|
23
24
|
end
|
data/features/support/env.rb
CHANGED
@@ -15,12 +15,12 @@ class MyWorld
|
|
15
15
|
content.gsub!("RSpec.describe", "describe")
|
16
16
|
# example.run -> example.call
|
17
17
|
content.gsub!("example.run", "example.call")
|
18
|
+
# expect(..).to .. -> expect(..).must_equal ..
|
19
|
+
content.gsub!("to eq", "must_equal")
|
18
20
|
|
19
21
|
content = <<-RUBY + content
|
20
22
|
require 'minitest/autorun'
|
21
|
-
require
|
22
|
-
|
23
|
-
require 'rspec/expectations/minitest_integration'
|
23
|
+
require '#{File.expand_path("../../../lib/minitest/around/spec", __FILE__)}'
|
24
24
|
RUBY
|
25
25
|
write_file(filename, content)
|
26
26
|
end
|
data/minitest-around.gemspec
CHANGED
data/test/nested_spec.rb
CHANGED
@@ -1,36 +1,36 @@
|
|
1
1
|
require_relative 'helper'
|
2
2
|
require 'minitest/around'
|
3
3
|
|
4
|
-
$var = []
|
5
|
-
|
6
4
|
describe 'Outer' do
|
5
|
+
let(:var) { [] }
|
6
|
+
|
7
7
|
before do
|
8
|
-
|
8
|
+
var << :before
|
9
9
|
end
|
10
10
|
after do
|
11
|
-
|
12
|
-
|
11
|
+
var << :after
|
12
|
+
var.must_equal [:before, :begin, :ibefore, :ibegin, :during, :iend, :iafter, :end, :after]
|
13
13
|
end
|
14
14
|
around do |test|
|
15
|
-
|
15
|
+
var << :begin
|
16
16
|
test.call
|
17
|
-
|
17
|
+
var << :end
|
18
18
|
end
|
19
19
|
|
20
20
|
describe 'Inner' do
|
21
21
|
before do
|
22
|
-
|
22
|
+
var << :ibefore
|
23
23
|
end
|
24
24
|
after do
|
25
|
-
|
25
|
+
var << :iafter
|
26
26
|
end
|
27
27
|
around do |test|
|
28
|
-
|
28
|
+
var << :ibegin
|
29
29
|
test.call
|
30
|
-
|
30
|
+
var << :iend
|
31
31
|
end
|
32
32
|
it 'testing' do
|
33
|
-
|
33
|
+
var << :during
|
34
34
|
end
|
35
35
|
end
|
36
36
|
end
|
data/test/nested_test.rb
CHANGED
@@ -1,36 +1,35 @@
|
|
1
1
|
require_relative 'helper'
|
2
2
|
require 'minitest/around/unit'
|
3
3
|
|
4
|
-
$var = []
|
5
|
-
|
6
4
|
class OuterNestedTest < Minitest::Test
|
5
|
+
@@var = []
|
7
6
|
def setup
|
8
|
-
|
7
|
+
@@var << :before
|
9
8
|
end
|
10
9
|
def teardown
|
11
|
-
|
12
|
-
|
10
|
+
@@var << :after
|
11
|
+
@@var.must_equal [:before, :ibefore, :begin, :ibegin, :during, :iend, :end, :iafter, :after]
|
13
12
|
end
|
14
13
|
def around
|
15
|
-
|
14
|
+
@@var << :begin
|
16
15
|
yield
|
17
|
-
|
16
|
+
@@var << :end
|
18
17
|
end
|
19
18
|
end
|
20
19
|
|
21
20
|
class InnerNestedTest < OuterNestedTest
|
22
21
|
def setup
|
23
|
-
|
22
|
+
@@var << :ibefore
|
24
23
|
end
|
25
24
|
def teardown
|
26
|
-
|
25
|
+
@@var << :iafter
|
27
26
|
end
|
28
27
|
def around
|
29
|
-
|
28
|
+
@@var << :ibegin
|
30
29
|
yield
|
31
|
-
|
30
|
+
@@var << :iend
|
32
31
|
end
|
33
32
|
def test_nesting
|
34
|
-
|
33
|
+
@@var << :during
|
35
34
|
end
|
36
35
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: minitest-around
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peter Suschlik
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-07-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: minitest
|
@@ -66,20 +66,6 @@ dependencies:
|
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: rspec-expectations
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - ">="
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - ">="
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
83
69
|
description: Alternative for setup/teardown dance.
|
84
70
|
email:
|
85
71
|
- peter-minitest-around@suschlik.de
|
@@ -128,7 +114,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
128
114
|
version: '0'
|
129
115
|
requirements: []
|
130
116
|
rubyforge_project:
|
131
|
-
rubygems_version: 2.4.
|
117
|
+
rubygems_version: 2.4.8
|
132
118
|
signing_key:
|
133
119
|
specification_version: 4
|
134
120
|
summary: Around block for minitest.
|