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/Gemfile +3 -0
- data/LICENSE.txt +202 -0
- data/README.rdoc +26 -0
- data/Rakefile +21 -0
- data/VERSION +1 -0
- data/bin/dtest +4 -0
- data/dtest.gemspec +34 -0
- data/examples/sample.rb +130 -0
- data/lib/dtest.rb +0 -0
- data/lib/dtest/command.rb +33 -0
- data/lib/dtest/core.rb +257 -0
- data/lib/dtest/dsl.rb +19 -0
- data/lib/dtest/failure.rb +27 -0
- data/lib/dtest/global.rb +91 -0
- data/lib/dtest/progress.rb +166 -0
- data/lib/dtest/report.rb +121 -0
- data/lib/dtest/result.rb +189 -0
- data/lib/dtest/runner.rb +22 -0
- data/lib/dtest/test.rb +212 -0
- data/lib/dtest/util.rb +43 -0
- data/lib/dtest/version.rb +5 -0
- data/spec/test_abort_spec.rb +772 -0
- data/spec/test_assert_spec.rb +146 -0
- data/spec/test_exception_spec.rb +303 -0
- data/spec/test_expect_spec.rb +288 -0
- data/spec/test_spec.rb +272 -0
- data/spec/test_value_parameterized_spec.rb +46 -0
- metadata +101 -0
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
|