rspec-extra-formatters 0.3 → 0.4
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.rst
CHANGED
@@ -8,7 +8,7 @@ RSpec Formatters
|
|
8
8
|
ok 1 - TapFormatter should initialize the counter to 0
|
9
9
|
ok 2 - TapFormatter example_passed should increment the counter and use the full_description attribute
|
10
10
|
ok 3 - TapFormatter example_failed should increment the counter and use the full_description attribute
|
11
|
-
ok 4 - TapFormatter example_pending should do the same as example_failed
|
11
|
+
ok 4 - TapFormatter example_pending should do the same as example_failed with TODO comment
|
12
12
|
ok 5 - TapFormatter dump_summary should print the number of tests if there were tests
|
13
13
|
ok 6 - TapFormatter dump_summary should print nothing if there were not tests
|
14
14
|
ok 7 - JUnitFormatter should initialize the tests with failures and success
|
@@ -35,7 +35,7 @@ class JUnitFormatter < RSpec::Core::Formatters::BaseFormatter
|
|
35
35
|
|
36
36
|
def initialize(output)
|
37
37
|
super(output)
|
38
|
-
@test_results = { :failures => [], :successes => [] }
|
38
|
+
@test_results = { :failures => [], :successes => [], :skipped => [] }
|
39
39
|
end
|
40
40
|
|
41
41
|
def example_passed(example)
|
@@ -44,7 +44,8 @@ class JUnitFormatter < RSpec::Core::Formatters::BaseFormatter
|
|
44
44
|
end
|
45
45
|
|
46
46
|
def example_pending(example)
|
47
|
-
|
47
|
+
super(example)
|
48
|
+
@test_results[:skipped].push(example)
|
48
49
|
end
|
49
50
|
|
50
51
|
def example_failed(example)
|
@@ -66,7 +67,7 @@ class JUnitFormatter < RSpec::Core::Formatters::BaseFormatter
|
|
66
67
|
def dump_summary(duration, example_count, failure_count, pending_count)
|
67
68
|
super(duration, example_count, failure_count, pending_count)
|
68
69
|
output.puts("<?xml version=\"1.0\" encoding=\"utf-8\" ?>")
|
69
|
-
output.puts("<testsuite errors=\"0\" failures=\"#{failure_count
|
70
|
+
output.puts("<testsuite errors=\"0\" failures=\"#{failure_count}\" skipped=\"#{pending_count}\" tests=\"#{example_count}\" time=\"#{duration}\" timestamp=\"#{Time.now.iso8601}\">")
|
70
71
|
output.puts(" <properties />")
|
71
72
|
@test_results[:successes].each do |t|
|
72
73
|
md = t.metadata
|
@@ -86,6 +87,15 @@ class JUnitFormatter < RSpec::Core::Formatters::BaseFormatter
|
|
86
87
|
output.puts(" </failure>")
|
87
88
|
output.puts(" </testcase>")
|
88
89
|
end
|
90
|
+
@test_results[:skipped].each do |t|
|
91
|
+
md = t.metadata
|
92
|
+
description = _xml_escape(md[:full_description])
|
93
|
+
file_path = _xml_escape(md[:file_path])
|
94
|
+
runtime = md[:execution_result][:run_time]
|
95
|
+
output.puts(" <testcase classname=\"#{file_path}\" name=\"#{description}\" time=\"#{runtime}\">")
|
96
|
+
output.puts(" <skipped/>")
|
97
|
+
output.puts(" </testcase>")
|
98
|
+
end
|
89
99
|
output.puts("</testsuite>")
|
90
100
|
end
|
91
101
|
|
@@ -32,6 +32,10 @@ class TapFormatter < RSpec::Core::Formatters::BaseFormatter
|
|
32
32
|
|
33
33
|
attr_reader :total
|
34
34
|
|
35
|
+
OK = 'ok'
|
36
|
+
NOT_OK = 'not ok'
|
37
|
+
TODO = '# TODO '
|
38
|
+
|
35
39
|
def initialize(output)
|
36
40
|
super(output)
|
37
41
|
@total = 0
|
@@ -39,18 +43,17 @@ class TapFormatter < RSpec::Core::Formatters::BaseFormatter
|
|
39
43
|
|
40
44
|
def example_passed(example)
|
41
45
|
super(example)
|
42
|
-
|
43
|
-
output.puts("ok #{@total} - #{example.metadata[:full_description]}")
|
46
|
+
tap_example_output(OK, example)
|
44
47
|
end
|
45
48
|
|
46
49
|
def example_pending(example)
|
47
|
-
|
50
|
+
super(example)
|
51
|
+
tap_example_output(NOT_OK, example, TODO)
|
48
52
|
end
|
49
53
|
|
50
54
|
def example_failed(example)
|
51
55
|
super(example)
|
52
|
-
|
53
|
-
output.puts("not ok #{@total} - #{example.metadata[:full_description]}")
|
56
|
+
tap_example_output(NOT_OK, example)
|
54
57
|
end
|
55
58
|
|
56
59
|
def dump_summary(duration, example_count, failure_count, pending_count)
|
@@ -60,4 +63,10 @@ class TapFormatter < RSpec::Core::Formatters::BaseFormatter
|
|
60
63
|
end
|
61
64
|
end
|
62
65
|
|
66
|
+
private
|
67
|
+
def tap_example_output(ok, example, modifier='')
|
68
|
+
@total += 1
|
69
|
+
output.puts("#{ok} #{@total} - #{modifier}#{example.metadata[:full_description]}")
|
70
|
+
end
|
71
|
+
|
63
72
|
end
|
@@ -37,7 +37,7 @@ describe JUnitFormatter do
|
|
37
37
|
end
|
38
38
|
|
39
39
|
it "should initialize the tests with failures and success" do
|
40
|
-
JUnitFormatter.new(StringIO.new).test_results.should eql({:failures=>[], :successes=>[]})
|
40
|
+
JUnitFormatter.new(StringIO.new).test_results.should eql({:failures=>[], :successes=>[], :skipped=>[]})
|
41
41
|
end
|
42
42
|
|
43
43
|
describe "example_passed" do
|
@@ -62,10 +62,10 @@ describe JUnitFormatter do
|
|
62
62
|
|
63
63
|
describe "example_pending" do
|
64
64
|
|
65
|
-
it "should
|
65
|
+
it "should push the example obj into the skipped list" do
|
66
66
|
f = JUnitFormatter.new(StringIO.new)
|
67
67
|
f.example_pending("foobar")
|
68
|
-
f.test_results[:
|
68
|
+
f.test_results[:skipped].should eql(["foobar"])
|
69
69
|
end
|
70
70
|
|
71
71
|
end
|
@@ -129,16 +129,24 @@ describe JUnitFormatter do
|
|
129
129
|
, :run_time => 0.1 \
|
130
130
|
}
|
131
131
|
})
|
132
|
+
|
133
|
+
example2 = mock("example-2")
|
134
|
+
example2.should_receive(:metadata).and_return({ :full_description => "foobar-pending" \
|
135
|
+
, :file_path => "lib/foobar-s.rb" \
|
136
|
+
, :execution_result => { :run_time => 0.1 } \
|
137
|
+
})
|
138
|
+
|
132
139
|
|
133
140
|
output = StringIO.new
|
134
141
|
f = JUnitFormatter.new(output)
|
135
142
|
f.example_passed(example0)
|
136
143
|
f.example_failed(example1)
|
137
|
-
f.
|
144
|
+
f.example_pending(example2)
|
145
|
+
f.dump_summary("0.1", 3, 1, 1)
|
138
146
|
|
139
147
|
output.string.should == <<-EOF
|
140
148
|
<?xml version="1.0" encoding="utf-8" ?>
|
141
|
-
<testsuite errors="0" failures="1" tests="
|
149
|
+
<testsuite errors="0" failures="1" skipped="1" tests="3" time="0.1" timestamp="#{@now.iso8601}">
|
142
150
|
<properties />
|
143
151
|
<testcase classname="lib/foobar-s.rb" name="foobar-success" time="0.1" />
|
144
152
|
<testcase classname="lib/foobar-f.rb" name="foobar-failure" time="0.1">
|
@@ -146,6 +154,9 @@ describe JUnitFormatter do
|
|
146
154
|
<![CDATA[ foobar\nfoo\nbar ]]>
|
147
155
|
</failure>
|
148
156
|
</testcase>
|
157
|
+
<testcase classname="lib/foobar-s.rb" name="foobar-pending" time="0.1">
|
158
|
+
<skipped/>
|
159
|
+
</testcase>
|
149
160
|
</testsuite>
|
150
161
|
EOF
|
151
162
|
end
|
@@ -164,7 +175,7 @@ describe JUnitFormatter do
|
|
164
175
|
|
165
176
|
output.string.should == <<-EOF
|
166
177
|
<?xml version="1.0" encoding="utf-8" ?>
|
167
|
-
<testsuite errors="0" failures="1" tests="2" time="0.1" timestamp="#{@now.iso8601}">
|
178
|
+
<testsuite errors="0" failures="1" skipped="0" tests="2" time="0.1" timestamp="#{@now.iso8601}">
|
168
179
|
<properties />
|
169
180
|
<testcase classname="lib/>foobar-s.rb" name="foobar-success >>> &"& <<<" time="0.1" />
|
170
181
|
</testsuite>
|
@@ -68,7 +68,7 @@ describe TapFormatter do
|
|
68
68
|
|
69
69
|
describe "example_pending" do
|
70
70
|
|
71
|
-
it "should do the same as example_failed" do
|
71
|
+
it "should do the same as example_failed with TODO comment" do
|
72
72
|
example = mock("example")
|
73
73
|
example.should_receive(:metadata).and_return({:full_description => "foobar"})
|
74
74
|
|
@@ -77,7 +77,7 @@ describe TapFormatter do
|
|
77
77
|
f.example_pending(example)
|
78
78
|
|
79
79
|
f.total.should eql(1)
|
80
|
-
output.string.should == "not ok 1 - foobar\n"
|
80
|
+
output.string.should == "not ok 1 - # TODO foobar\n"
|
81
81
|
end
|
82
82
|
|
83
83
|
end
|
@@ -100,7 +100,7 @@ describe TapFormatter do
|
|
100
100
|
output.string.should == <<-EOF
|
101
101
|
ok 1 - foobar
|
102
102
|
not ok 2 - foobar
|
103
|
-
not ok 3 - foobar
|
103
|
+
not ok 3 - # TODO foobar
|
104
104
|
1..3
|
105
105
|
EOF
|
106
106
|
end
|
metadata
CHANGED
@@ -1,8 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspec-extra-formatters
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 3
|
4
5
|
prerelease:
|
5
|
-
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 4
|
9
|
+
version: "0.4"
|
6
10
|
platform: ruby
|
7
11
|
authors:
|
8
12
|
- Diego Souza
|
@@ -11,8 +15,7 @@ autorequire:
|
|
11
15
|
bindir: bin
|
12
16
|
cert_chain: []
|
13
17
|
|
14
|
-
date:
|
15
|
-
default_executable:
|
18
|
+
date: 2012-04-24 00:00:00 Z
|
16
19
|
dependencies:
|
17
20
|
- !ruby/object:Gem::Dependency
|
18
21
|
name: rspec
|
@@ -22,6 +25,9 @@ dependencies:
|
|
22
25
|
requirements:
|
23
26
|
- - ">="
|
24
27
|
- !ruby/object:Gem::Version
|
28
|
+
hash: 3
|
29
|
+
segments:
|
30
|
+
- 0
|
25
31
|
version: "0"
|
26
32
|
type: :development
|
27
33
|
version_requirements: *id001
|
@@ -36,16 +42,15 @@ extra_rdoc_files:
|
|
36
42
|
- README.rst
|
37
43
|
files:
|
38
44
|
- lib/tap_formatter.rb
|
39
|
-
- lib/rspec-extra-formatters
|
45
|
+
- lib/rspec-extra-formatters.rb
|
40
46
|
- lib/rspec-extra-formatters/tap_formatter.rb
|
47
|
+
- lib/rspec-extra-formatters/junit_formatter.rb
|
41
48
|
- lib/j_unit_formatter.rb
|
42
|
-
-
|
49
|
+
- LICENSE
|
50
|
+
- README.rst
|
43
51
|
- spec/rspec-extra-formatters/tap_formatter_spec.rb
|
44
52
|
- spec/rspec-extra-formatters/junit_formatter_spec.rb
|
45
53
|
- spec/spec_helper.rb
|
46
|
-
- LICENSE
|
47
|
-
- README.rst
|
48
|
-
has_rdoc: true
|
49
54
|
homepage: http://dsouza.bitforest.org/2011/01/22/rspec-tap-and-junit-formatters/
|
50
55
|
licenses: []
|
51
56
|
|
@@ -59,17 +64,23 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
59
64
|
requirements:
|
60
65
|
- - ">="
|
61
66
|
- !ruby/object:Gem::Version
|
67
|
+
hash: 3
|
68
|
+
segments:
|
69
|
+
- 0
|
62
70
|
version: "0"
|
63
71
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
64
72
|
none: false
|
65
73
|
requirements:
|
66
74
|
- - ">="
|
67
75
|
- !ruby/object:Gem::Version
|
76
|
+
hash: 3
|
77
|
+
segments:
|
78
|
+
- 0
|
68
79
|
version: "0"
|
69
80
|
requirements: []
|
70
81
|
|
71
82
|
rubyforge_project:
|
72
|
-
rubygems_version: 1.
|
83
|
+
rubygems_version: 1.8.6
|
73
84
|
signing_key:
|
74
85
|
specification_version: 3
|
75
86
|
summary: TAP and JUnit formatters for rspec
|