dtest 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
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