dtest 0.0.1

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/spec/test_spec.rb ADDED
@@ -0,0 +1,272 @@
1
+ require 'dtest/dsl'
2
+ require 'dtest/runner'
3
+ include DTest
4
+
5
+ describe Global::Manager, 'dtest instance' do
6
+ before do
7
+ end
8
+ after do
9
+ Global::Manager.instance.clear
10
+ Test::Manager.instance.clear
11
+ end
12
+
13
+ it "global context" do
14
+ GlobalHarness do
15
+ before do
16
+ assert_equal(nil, @fuga) # PASS
17
+ @fuga = 1234
18
+ end
19
+
20
+ after do
21
+ assert_equal(1234, @fuga) # PASS
22
+
23
+ assert_equal(1235, @fuga) # FAIL
24
+ end
25
+ end
26
+
27
+ TestCase "testcase" do
28
+ beforeCase do
29
+ # TestCase cannot access Global's instance
30
+ assert_equal(nil, @fuga) # PASS
31
+ end
32
+
33
+ afterCase do
34
+ assert_equal(nil, @fuga) # PASS
35
+ end
36
+ end
37
+
38
+ global_report = Runner.run([])
39
+ global_report.after_failure.failure.size.should == 1
40
+
41
+ global_report.result.size == 1
42
+ cresult = global_report.result.first
43
+
44
+ cresult.before_failure.failure.size.should == 0
45
+ cresult.after_failure.failure.size.should == 0
46
+ end
47
+
48
+ it "testcase context" do
49
+ GlobalHarness do
50
+ end
51
+
52
+ TestCase "testcase" do
53
+
54
+ beforeCase do
55
+ assert_equal(nil, @hoge) # PASS
56
+ @hoge = 12345
57
+
58
+ end
59
+
60
+ afterCase do
61
+ assert_equal(12345, @hoge) # PASS
62
+ end
63
+
64
+ before do
65
+ # test cannot access TestCase's instance
66
+ assert_equal(nil, @hoge) # PASS
67
+ end
68
+
69
+ after do
70
+ assert_equal(nil, @hoge) # PASS
71
+ end
72
+
73
+ test "test1" do
74
+ assert_equal(nil, @hoge) # PASS
75
+ end
76
+ end
77
+
78
+ global_report = Runner.run([])
79
+
80
+ global_report.result.size == 1
81
+ cresult = global_report.result[0]
82
+ cresult.before_failure.failure.size.should == 0
83
+ cresult.after_failure.failure.size.should == 0
84
+
85
+ cresult.result.size == 1
86
+ cresult.passed.should == 1
87
+ cresult.failed.should == 0
88
+ end
89
+
90
+ it "test context" do
91
+ GlobalHarness do
92
+ end
93
+
94
+ TestCase "testcase" do
95
+ before do
96
+ assert_equal(nil, @test)
97
+ @test = 54321
98
+ end
99
+
100
+ after do
101
+ assert_equal(54321, @test) # PASS
102
+ assert_equal(true, @test) # FAIL
103
+ end
104
+
105
+ test "test1" do
106
+ assert_equal(54321, @test) # PASS
107
+ end
108
+
109
+ test "test2" do
110
+ assert_equal(false, @test) # FAIL
111
+ end
112
+ end
113
+
114
+ global_report = Runner.run([])
115
+
116
+ global_report.result.size == 1
117
+ cresult = global_report.result.first
118
+ cresult.result.size == 2
119
+ result = cresult.result
120
+ result[0].before_failure.failure.size == 1
121
+ result[0].after_failure.failure.size == 1
122
+ result[0].failure.size == 0
123
+ result[1].before_failure.failure.size == 1
124
+ result[1].after_failure.failure.size == 1
125
+ result[1].failure.size == 1
126
+ end
127
+ end
128
+
129
+ describe Global::Manager, 'dtest setter/getter' do
130
+ before do
131
+ GlobalHarness do
132
+ before do
133
+ end
134
+
135
+ after do
136
+ end
137
+ end
138
+ end
139
+
140
+ after do
141
+ Global::Manager.instance.clear
142
+ Test::Manager.instance.clear
143
+ end
144
+
145
+ it "testcase_to_test" do
146
+
147
+ TestCase "testcase" do
148
+ beforeCase do
149
+ set :member_test, 12345
150
+ set "member_modify", 12345
151
+ assert_equal(12345, member_test) # PASS
152
+ assert_equal(12345, member_modify)# PASS
153
+ end
154
+
155
+ afterCase do
156
+ assert_equal(12345, member_test) # PASS
157
+ assert_equal(10000, member_modify)# PASS
158
+ end
159
+
160
+ test "modify_member" do
161
+ assert_equal(12345, member_test) # PASS
162
+ set :member_modify, 10000
163
+ end
164
+ end
165
+
166
+ global_report = Runner.run([])
167
+ global_report.after_failure.failure.size.should == 0
168
+
169
+ global_report.result.size == 1
170
+ cresult = global_report.result.first
171
+ cresult.before_failure.failure.size.should == 0
172
+ cresult.result.size.should == 1
173
+ cresult.result[0].result.should == Test::Result::PASS
174
+ cresult.after_failure.failure.size.should == 0
175
+ end
176
+ end
177
+
178
+
179
+ describe Global::Manager, 'test global' do
180
+ before do
181
+ $call = []
182
+ GlobalHarness do
183
+ before do
184
+ $call << :beforeGlobal
185
+ end
186
+
187
+ after do
188
+ $call << :afterGlobal
189
+ end
190
+ end
191
+ end
192
+
193
+ after do
194
+ Global::Manager.instance.clear
195
+ Test::Manager.instance.clear
196
+ end
197
+
198
+ it "global before/after should be executed" do
199
+ Runner.run([])
200
+ $call.should == [:beforeGlobal, :afterGlobal]
201
+ end
202
+
203
+ it "testcase, test, before/after/test should be executed case" do
204
+ TestCase "testcase1" do
205
+ beforeCase do
206
+ $call << :beforeCase1
207
+ end
208
+
209
+ afterCase do
210
+ $call << :afterCase1
211
+ end
212
+
213
+ before do
214
+ $call << :before1
215
+ end
216
+
217
+ after do
218
+ $call << :after1
219
+ end
220
+
221
+
222
+ test "test1" do
223
+ $call << :test1
224
+ end
225
+
226
+ test "test2" do
227
+ $call << :test2
228
+ end
229
+ end
230
+
231
+ TestCase "testcase2" do
232
+ before do
233
+ $call << :before2
234
+ end
235
+
236
+ after do
237
+ $call << :after2
238
+ end
239
+
240
+ test "test1" do
241
+ $call << :test1
242
+ end
243
+ end
244
+
245
+ call = [
246
+ :beforeGlobal,
247
+
248
+ # case: testcase1
249
+ :beforeCase1,
250
+ :before1,
251
+ :test1,
252
+ :after1,
253
+ :before1,
254
+ :test2,
255
+ :after1,
256
+ :afterCase1,
257
+
258
+ # case: testcase1
259
+ :before2,
260
+ :test1,
261
+ :after2,
262
+
263
+ # after
264
+ :afterGlobal,
265
+ ]
266
+
267
+ global_report = Runner.run([])
268
+ $call.should == call
269
+ global_report.result.size.should == 2
270
+ end
271
+ end
272
+
@@ -0,0 +1,46 @@
1
+ require 'dtest/dsl'
2
+ require 'dtest/runner'
3
+ include DTest
4
+
5
+ describe Global::Manager, 'value_parameterized' do
6
+ before do
7
+ $params = []
8
+ GlobalHarness do
9
+ before do
10
+ end
11
+
12
+ after do
13
+ end
14
+ end
15
+
16
+ end
17
+
18
+ after do
19
+ Global::Manager.instance.clear
20
+ Test::Manager.instance.clear
21
+ end
22
+
23
+ it "parameter" do
24
+ TestCase "parameter" do
25
+ test "param", :params => combine([true, false], [1,2,3]) do
26
+ $params << param
27
+ end
28
+ end
29
+
30
+ global_report = Runner.run([])
31
+ executed_params = [true, false].product([1,2,3])
32
+ $params.should == executed_params
33
+ end
34
+
35
+ it "parameter_combine_error" do
36
+ lambda {
37
+ TestCase "parameter" do
38
+ # error: combine argument must be Array
39
+ test "param", :params => combine([true, false], [1,2,3], 1234) do
40
+ end
41
+ end
42
+ Runner.run([])
43
+ }.should raise_error(ArgumentError, 'All arguments must be Array')
44
+ end
45
+
46
+ end
metadata ADDED
@@ -0,0 +1,101 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: dtest
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Shuzo Kashihara
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2011-11-01 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rake
16
+ requirement: &70264612395960 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: 0.9.2
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *70264612395960
25
+ - !ruby/object:Gem::Dependency
26
+ name: rspec
27
+ requirement: &70264612395400 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: 1.2.3
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *70264612395400
36
+ description: DTest is a testing tool to describe integrating test for distributed
37
+ systems.
38
+ email: suma@sourceforge.jp
39
+ executables:
40
+ - dtest
41
+ extensions: []
42
+ extra_rdoc_files: []
43
+ files:
44
+ - Gemfile
45
+ - LICENSE.txt
46
+ - README.rdoc
47
+ - Rakefile
48
+ - VERSION
49
+ - bin/dtest
50
+ - dtest.gemspec
51
+ - examples/sample.rb
52
+ - lib/dtest.rb
53
+ - lib/dtest/command.rb
54
+ - lib/dtest/core.rb
55
+ - lib/dtest/dsl.rb
56
+ - lib/dtest/failure.rb
57
+ - lib/dtest/global.rb
58
+ - lib/dtest/progress.rb
59
+ - lib/dtest/report.rb
60
+ - lib/dtest/result.rb
61
+ - lib/dtest/runner.rb
62
+ - lib/dtest/test.rb
63
+ - lib/dtest/util.rb
64
+ - lib/dtest/version.rb
65
+ - spec/test_abort_spec.rb
66
+ - spec/test_assert_spec.rb
67
+ - spec/test_exception_spec.rb
68
+ - spec/test_expect_spec.rb
69
+ - spec/test_spec.rb
70
+ - spec/test_value_parameterized_spec.rb
71
+ homepage: https://github.com/suma/dtest
72
+ licenses: []
73
+ post_install_message:
74
+ rdoc_options: []
75
+ require_paths:
76
+ - lib
77
+ required_ruby_version: !ruby/object:Gem::Requirement
78
+ none: false
79
+ requirements:
80
+ - - ! '>='
81
+ - !ruby/object:Gem::Version
82
+ version: 1.8.7
83
+ required_rubygems_version: !ruby/object:Gem::Requirement
84
+ none: false
85
+ requirements:
86
+ - - ! '>='
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ requirements: []
90
+ rubyforge_project:
91
+ rubygems_version: 1.8.11
92
+ signing_key:
93
+ specification_version: 3
94
+ summary: DTest is a testing tool to describe integrating test for distributed systems.
95
+ test_files:
96
+ - spec/test_abort_spec.rb
97
+ - spec/test_assert_spec.rb
98
+ - spec/test_exception_spec.rb
99
+ - spec/test_expect_spec.rb
100
+ - spec/test_spec.rb
101
+ - spec/test_value_parameterized_spec.rb