rabbit-slide-kou-rubykaigi-2015 2015.12.12.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 356df97952dd608c83d5a999159f4f656c4e9da7
4
+ data.tar.gz: c3135eb80cf0c8b00b41a2bb2a833a0cbf6c5cc1
5
+ SHA512:
6
+ metadata.gz: 64d47530e48352df4b183023475ce5c5a49ba7f49abd4762637a183fa508733863dfa3493396ee94bdcce76f9fef9c52ab5f6abedd7d8a9264e2e364ef1038fd
7
+ data.tar.gz: 119887b10f2c0b6e15feea8cc81ec656a1cc4662d8eec754924152cdd4032b9baab2a7059fd95a27c0012354faed653cf5d7d5e588b0e752ad279189ae4f2169
data/.rabbit ADDED
@@ -0,0 +1 @@
1
+ the-history-of-testing-framework-in-ruby.rab
data/README.rd ADDED
@@ -0,0 +1,48 @@
1
+ = The history of testing framework in Ruby
2
+
3
+ This talk describes about the history of testing framework in Ruby.
4
+
5
+ Ruby 2.2 bundles two testing frameworks. They are minitest and test-unit. Do you know why two testing frameworks are bundled? Do you know that test-unit was bundled and then removed from Ruby distribution? If you can't answer these questions and you're interested in testing framework, this talk will help you.
6
+
7
+ This talk describes about the history of bundled testing framework in Ruby and some major testing frameworks for Ruby in chronological order.
8
+
9
+ == License
10
+
11
+ === Slide
12
+
13
+ CC BY-SA 4.0
14
+
15
+ Use the followings for notation of the author:
16
+
17
+ * Kouhei Sutou
18
+
19
+ === Images
20
+
21
+ ==== ClearCode Inc. logo
22
+
23
+ CC BY-SA 4.0
24
+
25
+ Author: ClearCode Inc.
26
+
27
+ It is used in page header and some pages in the slide.
28
+
29
+ == For author
30
+
31
+ === Show
32
+
33
+ rake
34
+
35
+ === Publish
36
+
37
+ rake publish
38
+
39
+ == For viewers
40
+
41
+ === Install
42
+
43
+ gem install rabbit-slide-kou-rubykaigi-2015
44
+
45
+ === Show
46
+
47
+ rabbit rabbit-slide-kou-rubykaigi-2015.gem
48
+
data/Rakefile ADDED
@@ -0,0 +1,17 @@
1
+ require "rabbit/task/slide"
2
+
3
+ # Edit ./config.yaml to customize meta data
4
+
5
+ spec = nil
6
+ Rabbit::Task::Slide.new do |task|
7
+ spec = task.spec
8
+ spec.files += Dir.glob("images/*.*")
9
+ # spec.files -= Dir.glob("private/**/*.*")
10
+ spec.add_runtime_dependency("rabbit-theme-clear-code", ">= 1.0.5")
11
+ end
12
+
13
+ desc "Tag #{spec.version}"
14
+ task :tag do
15
+ sh("git", "tag", "-a", spec.version.to_s, "-m", "Publish #{spec.version}")
16
+ sh("git", "push", "--tags")
17
+ end
data/config.yaml ADDED
@@ -0,0 +1,23 @@
1
+ ---
2
+ id: rubykaigi-2015
3
+ base_name: the-history-of-testing-framework-in-ruby
4
+ tags:
5
+ - rabbit
6
+ - ruby
7
+ - testing-framework
8
+ presentation_date: 2015-12-12
9
+ version: 2015.12.12.0
10
+ licenses:
11
+ - CC BY-SA 4.0
12
+ slideshare_id:
13
+ speaker_deck_id:
14
+ ustream_id:
15
+ vimeo_id:
16
+ youtube_id:
17
+ author:
18
+ markup_language: :rd
19
+ name: Kouhei Sutou
20
+ email: kou@clear-code.com
21
+ rubygems_user: kou
22
+ slideshare_user: kou
23
+ speaker_deck_user: kou
@@ -0,0 +1,496 @@
1
+ = The history of\n testing framework\n in Ruby
2
+
3
+ : author
4
+ Kouhei Sutou
5
+ : institution
6
+ ClearCode Inc.
7
+ : content-source
8
+ RubyKaigi 2015
9
+ : date
10
+ 2015-12-12
11
+ : allotted-time
12
+ 35m
13
+ : theme
14
+ .
15
+
16
+ = Silver sponsor
17
+
18
+ # image
19
+ # src = images/clear-code-is-a-silver-sponsor.png
20
+ # relative_height = 100
21
+
22
+ == slide property
23
+
24
+ : enable-title-on-image
25
+ false
26
+
27
+ = Goal\n(('note:目標'))
28
+
29
+ (('tag:center'))
30
+ (('tag:large'))
31
+ You know about\n
32
+ (({/\Atest.+unit\z/i}))
33
+
34
+ (('tag:center'))
35
+ (('note:(({/\\Atest.+unit\\z/i}))を知ること'))
36
+
37
+ = Test\n(('note:テスト'))
38
+
39
+ (('tag:center'))
40
+ Which Rubies do include\n
41
+ (({/\Atest.+unit\z/i}))?\n
42
+ (('note:(({/\Atest.+unit\z/i}))を含んでいるRubyはどれでしょう?'))
43
+
44
+ # RT
45
+ delimiter = [|]
46
+
47
+ (('1.4')) | (('1.6')) | (('1.8'))
48
+ (('1.9.1')) | (('1.9.2')) | (('1.9.3'))
49
+ (('2.0')) | (('2.1')) | (('2.2'))
50
+ (('2.3')) | |
51
+
52
+ = Answer\n(('note:答え'))
53
+
54
+ (('tag:center'))
55
+ Which Rubies do include\n
56
+ (({/\Atest.+unit\z/i}))?\n
57
+ (('note:(({/\Atest.+unit\z/i}))を含んでいるRubyはどれでしょう?'))
58
+
59
+ # RT
60
+ delimiter = [|]
61
+
62
+ (('1.4')) | (('1.6')) | ((*1.8*))
63
+ ((*1.9.1*)) | ((*1.9.2*)) | ((*1.9.3*))
64
+ ((*2.0*)) | ((*2.1*)) | ((*2.2*))
65
+ ((*2.3*)) | |
66
+
67
+ = History\n(('note:歴史'))
68
+
69
+ = Characters\n(('note:登場人物'))
70
+
71
+ # RT
72
+
73
+ testsupp, RubyUnit
74
+ Lapidary,
75
+ Test::Unit, test/unit
76
+ test-unit, miniunit
77
+ minitest, RSpec
78
+
79
+ = Ruby 1.3 times\n(('note:Ruby 1.3の時代'))
80
+
81
+ * 1998-1999
82
+ * The first testing framework for Ruby was released\n
83
+ (('note:最初のRuby用のテスティングフレームワークがリリース'))
84
+ * testsupp
85
+
86
+ = testsupp
87
+
88
+ * 1999-4-11: [ruby-talk:00634]\n
89
+ ANN: testsupp.rb 0.1
90
+ * Perl's (({Test})) like API\n
91
+ (('note:PerlのTestモジュールのようなAPI'))
92
+ * Perl's (({Test})) exists since 1998\n
93
+ (('note:PerlのTestモジュールは1998からある'))
94
+
95
+ = testsupp: API
96
+
97
+ # coderay ruby
98
+ require "testsupp"
99
+ include TestSupp
100
+
101
+ start_tests
102
+ ok "Hello" == "Hello"
103
+ end_tests
104
+
105
+ = Ruby 1.4 times\n(('note:Ruby 1.4の時代'))
106
+
107
+ * 1999-2000
108
+ * The first xUnit testing framework for Ruby was released\n
109
+ (('note:最初のRuby用のxUnit系テスティングフレームワークが'))\n
110
+ (('note:リリース'))
111
+ * RubyUnit
112
+
113
+ = RubyUnit
114
+
115
+ * Since 1999-11-20 at least\n
116
+ (('note:少なくとも1999年11月20日には存在していた'))
117
+ * [ruby-list:18594]\n
118
+ (('note:"RubyUnit のページは当分更新されないと思うです."'))
119
+ * The first xUnit testing framework for Ruby\n
120
+ (('note:最初のRuby用のxUnit系テスティングフレームワーク'))
121
+
122
+ = RubyUnit: API
123
+
124
+ # coderay ruby
125
+ require "runit/testcase"
126
+ class Test < RUNIT::TestCase
127
+ def test_add
128
+ assert_equal(3, 1 + 2)
129
+ end
130
+ end
131
+
132
+ = RubyUnit: Impression\n(('note:感想'))
133
+
134
+ Ruby-ish\n
135
+ (('note:Rubyっぽい'))
136
+
137
+ = RubyUnit: FYI\n(('note:参考情報'))
138
+
139
+ * Test generator exists\n
140
+ (('note:テストジェネレーターがある'))
141
+ * Test exec command exists\n
142
+ (('note:テスト実行コマンドがある'))
143
+ * (('wait'))
144
+ (('note:rubyunit gem exists since 2014-10-12'))\n
145
+ (('note:rubyunitというgemが存在する'))
146
+ * (('note:Not related product'))\n
147
+ (('note:関係のないプロダクト'))
148
+
149
+ = Ruby 1.6 times: 1\n(('note:Ruby 1.6の時代:1'))
150
+
151
+ * 2000-2002
152
+ * The second xUnit testing framework for Ruby was released\n
153
+ (('note:2つ目のRuby用のxUnit系テスティングフレームワークが'))\n
154
+ (('note:リリース'))
155
+ * Lapidary
156
+
157
+ = Lapidary
158
+
159
+ * The first release was 2001-03-20\n
160
+ (('note:最初のリリースは2001年3月20日'))
161
+ * The second xUnit testing framework for Ruby\n
162
+ (('note:2つ目のRuby用のxUnit系テスティングフレームワーク'))
163
+ * Maybe\n
164
+ (('note:たぶん'))
165
+
166
+ = Lapidary: API
167
+
168
+ # coderay ruby
169
+ require "Lapidary/TestCase"
170
+ class TC_Adder < Lapidary::TestCase
171
+ def testAdd
172
+ assertEqual(3, 1 + 2)
173
+ end
174
+ end
175
+
176
+ = Lapidary: Impression\n(('note:感想'))
177
+
178
+ Not Ruby-ish\n
179
+ (('note:Rubyっぽくない'))
180
+
181
+ = Lapidary: FYI\n(('note:参考情報'))
182
+
183
+ * Has GUI test runner\n
184
+ (('note:GUIのテスト実行機能アリ'))
185
+
186
+ = Ruby 1.6 times: 2\n(('note:Ruby 1.6の時代:2'))
187
+
188
+ * Start trying to bundle a testing framework to Ruby\n
189
+ (('note:テスティングフレームワークをRubyにバンドルする'))\n
190
+ (('note:試みを開始'))
191
+ * RubyUnit + Lapidary = Test::Unit
192
+
193
+ = Test::Unit
194
+
195
+ * Since 2002-02:\n
196
+ [ruby-talk:34744]
197
+ * The first (({\A/test.+unit\z/}))\n
198
+ (('note:最初の(({/\\Atest.+unit\\z/i}))'))
199
+ * The author is the author of Lapidary\n
200
+ (('note:Lapidaryの作者が作者'))
201
+
202
+ = Test::Unit: API
203
+
204
+ # coderay ruby
205
+ require "test/unit"
206
+ class TC_Adder < Test::Unit::TestCase
207
+ def test_add
208
+ assert_equal(3, 1 + 2)
209
+ end
210
+ end
211
+
212
+ = Test::Unit: Impression\n(('note:感想'))
213
+
214
+ Ruby-ish\n
215
+ (('note:Rubyっぽい'))
216
+
217
+ = Test::Unit: FYI 1\n(('note:参考情報1'))
218
+
219
+ * API is based on RubyUnit\n
220
+ (('note:APIはRubyUnitのよう'))
221
+ * Has RubyUnit compatible API\n
222
+ (('note:RubyUnit互換APIアリ'))
223
+ * Impl. is based on Lapidary\n
224
+ (('note:実装はLapidaryベース'))
225
+ * Has GUI test runner\n
226
+ (('note:GUIのテスト実行機能アリ'))
227
+
228
+ = Wrap up: Before Ruby 1.8\n(('note:Ruby 1.8の前までのまとめ'))
229
+
230
+ * testsupp: Perl like API
231
+ * RubyUnit: Rubyish xUnit
232
+ * Lapidary: Not Rubyish xUnit
233
+ * Test::Unit:
234
+ * RubyUnit API + Lapidary Impl.
235
+
236
+ = Ruby 1.8 times: 1\n(('note:Ruby 1.8の時代:1'))
237
+
238
+ * 2003-2013
239
+ * Ruby bundles a testing framework\n
240
+ (('note:Rubyがテスティングフレームワークをバンドルした'))
241
+ * Test::Unit aka test/unit\n
242
+ (('note:バンドルされたのはTest::Unit'))\n
243
+ (('note:test/unitとも呼ばれる'))
244
+
245
+ = FYI: Why test/unit?\n(('note:参考情報:なぜtest/unitと呼ぶか'))
246
+
247
+ # coderay ruby
248
+ require "test/unit"
249
+
250
+ = Test::Unit in Ruby 1.8\n(('note:Ruby 1.8バンドル後のTest::Unit'))
251
+
252
+ * No active development\n
253
+ (('note:開発は停滞'))
254
+ * Maintainer is changed\n
255
+ (('note:メンテナー交代'))
256
+ * The author of minitest\n
257
+ (('note:後のminitestの作者'))
258
+
259
+ = Test::Unit:\nnew maintainer\n(('note:新しいメンテナー'))
260
+
261
+ * New maintainer said:\n
262
+ (('note:新メンテナー曰く'))
263
+ * Can't maintain Test::Unit because it's too complex\n
264
+ (('note:Test::Unitは複雑すぎてメンテナンスできない'))
265
+
266
+ = Ruby 1.8 times: 2\n(('note:Ruby 1.8の時代:2'))
267
+
268
+ RSpec was born\n
269
+ (('note:RSpec誕生'))
270
+
271
+ = RSpec
272
+
273
+ * Since 2005-08
274
+ * Tool for Behavior Driven Development\n
275
+ (('note:振る舞い駆動開発用のツール'))
276
+ * Active development\n
277
+ (('note:開発は活発'))
278
+
279
+ = RSpec 0.1.0: API
280
+
281
+ # coderay ruby
282
+ # 2005-08
283
+ require "spec"
284
+ class SpecAdd < Spec::Context
285
+ def add
286
+ (1 + 2).should_equal 3
287
+ end
288
+ end
289
+
290
+ = RSpec: 1.0.0: API
291
+
292
+ # coderay ruby
293
+ # 2007-05
294
+ require "spec"
295
+ describe "Add" do
296
+ it "should support positive + positive" do
297
+ (1 + 2).should == 3
298
+ end
299
+ end
300
+
301
+ = RSpec 1.0.0: Impression\n(('note:感想'))
302
+
303
+ Engl-ish\n
304
+ (('note:英語っぽい'))
305
+
306
+ = RSpec: FYI\n(('note:参考情報'))
307
+
308
+ * Test exec command exists\n
309
+ (('note:テスト実行コマンドがある'))
310
+ * RubyUnit like\n
311
+ (('note:RubyUnitみたい'))
312
+ * More features (('note:than Test::Unit'))\n
313
+ (('note:Test::Unitより機能が多い'))
314
+ * Mock, Not implemented, ...\n
315
+ (('note:モックや未実装など'))
316
+
317
+ = Wrap up: Ruby 1.8 times\n(('note:Ruby 1.8時代のまとめ'))
318
+
319
+ * Ruby starts bundling Test::Unit (('note:((({/\\Atest.+unit\\z/i})))'))\n
320
+ (('note:RubyがTest::Unitのバンドルを始めた'))
321
+ * But Test::Unit was died...\n
322
+ (('note:バンドル後、Test::Unitは死んだ。。。'))
323
+ * RSpec was born and active\n
324
+ (('note:RSpecが生まれ、活発だった'))
325
+
326
+ = Ruby 1.9 times\n(('note:Ruby 1.9の時代'))
327
+
328
+ * 2009-2014
329
+ * Ruby drops Test::Unit\n
330
+ (('note:RubyがTest::Unitを捨てた'))
331
+ * Because Test::Unit is too complex for new maintainer\n
332
+ (('note:新メンテナーにはTest::Unitは複雑すぎるから'))
333
+
334
+ = Test::Unit → test-unit
335
+
336
+ * Released as test-unit gem\n
337
+ (('note:test-unit gemとしてリリース'))
338
+ * Still (({/\Atest.+unit\z/i}))\n
339
+ (('note:名前変更後も(({/\Atest.+unit\z/i}))'))
340
+ * (('note:test-unit 1.2.3 == Test::Unit in Ruby 1.8'))
341
+ * Maintainer is changed\n
342
+ (('note:メンテナー交代'))
343
+ * Me\n
344
+ (('note:私'))
345
+
346
+ = test-unit
347
+
348
+ * Since 2008-03
349
+ * Active development\n
350
+ (('note:開発は活発'))
351
+ * High backward compatibility\n
352
+ (('note:高い後方互換性'))
353
+ * Exception: Inheritance, Mixin\n
354
+ (('note:例外:継承時・Mixin時の挙動'))
355
+
356
+ = minitest
357
+
358
+ * Since 2008-10
359
+ * Active development\n
360
+ (('note:開発は活発'))
361
+ * The author is the new maintainer of Test::Unit\n
362
+ (('note:作者はTest::Unitの新メンテナー'))
363
+
364
+ = minitest and Test::Unit
365
+
366
+ * Mini, simple, clean and fast\n
367
+ (('note:小さくてシンプルでキレイで速い'))
368
+ * The author said:\n
369
+ (('note:作者曰く'))
370
+ * 100% Test::Unit compatible\n
371
+ (('note:Test::Unitと100%互換'))
372
+
373
+ = test/unit in Ruby 1.9
374
+
375
+ * Not Test::Unit (('note:but (({/\\Atest.+unit\\z/i}))'))\n
376
+ (('note:Test::Unitではないが(({/\\Atest.+unit\\z/i}))ではある'))
377
+ * Provide Test::Unit API\n
378
+ (('note:Test::Unit互換APIを提供'))
379
+ * Wrapper of minitest\n
380
+ (('note:minitestのラッパー'))
381
+ * Ruby developers develop it\n
382
+ not minitest author\n
383
+ (('note:minitestの作者ではなくRuby開発者が開発'))
384
+
385
+ = Wrap up: Ruby 1.9 times\n(('note:Ruby 1.9時代のまとめ'))
386
+
387
+ * Ruby drops Test::Unit\n
388
+ (('note:RubyがTest::Unitを捨てた'))
389
+ * (('note:Test::Unit → test-unit gem'))
390
+ * Ruby bundles minitest\n
391
+ (('note:Rubyはminitestをバンドルした'))
392
+ * Ruby creates test/unit\n
393
+ (('note:(test/unit provides Test::Unit API)'))\n
394
+ (('note:RubyはTest::Unit APIを提供する(({test/unit}))を新しく作った'))
395
+
396
+ = Ruby 2.0 times\n(('note:Ruby 2.0の時代'))
397
+
398
+ * 2013-
399
+ * No highly important things\n
400
+ (('note:特筆すべきことはない'))
401
+ * test-unit, minitest and RSpec were actively developed\n
402
+ (('note:test-unitもminitestもRSpecも活発に開発が進んでいた'))
403
+
404
+ = Ruby 2.1 times: 1\n(('note:Ruby 2.1の時代:1'))
405
+
406
+ * 2013-
407
+ * minitest 5 introduced incompatible change\n
408
+ (('note:minitest 5で非互換の変更が入った'))
409
+
410
+ = minitest 5
411
+
412
+ * test/unit maintainer said:\n
413
+ (('note:test/unitメンテナー曰く'))
414
+ * Can't maintain test/unit with minitest 5\n
415
+ (('note:minitest 5向けのtest/unitはメンテナンスできない'))
416
+ * test/unit for minitest was dropped\n
417
+ (('note:minitestのラッパーとしてのtest/unitを捨てた'))
418
+
419
+ = Is no test/unit problem?\n(('note:test/unitがないことは問題なのか?'))
420
+
421
+ * Ruby uses test/unit for Ruby's test\n
422
+ (('note:RubyはRubyのテストにtest/unitを使っている'))
423
+ * No test/unit means existing tests can't be worked\n
424
+ (('note:test/unitがなくなると既存のテストが動かない'))
425
+
426
+ = Solution idea: 1\n(('note:解決案:1'))
427
+
428
+ * Keep bundling and using minitest 4\n
429
+ (('note:minitest 4のバンドルを継続し、使い続ける'))
430
+ * Users will be confused because the latest Ruby doesn't bundle the latest minitest\n
431
+ (('note:最新のRubyに最新のminitestがバンドルされていないとユーザーは混乱しそう'))
432
+
433
+ = Solution idea: 2\n(('note:解決案:2'))
434
+
435
+ * Bundle the latest minitest\n
436
+ (('note:最新のminitestをバンドルする'))
437
+ * Ruby uses minitest 4 and test/unit for its tests\n
438
+ (('note:Rubyのテストにはminitest 4とtest/unitを使う'))
439
+
440
+ (('wait'))
441
+ (('tag:center'))
442
+ Accepted!
443
+
444
+ = Note for idea 2\n(('note:案2の補足'))
445
+
446
+ * Need to care existing Test::Unit API users\n
447
+ (('note:既存のTest::Unit APIユーザーをケアする必要がある'))
448
+ * Backward compat. is important!\n
449
+ (('note:後方互換性は重要!'))
450
+ * Bundle test-unit gem too for Test::Unit API\n
451
+ (('note:Test::Unit互換APIのためにtest-unit gemもバンドル'))
452
+
453
+ = Wrap up: Ruby 2.1 times\n(('note:Ruby 2.1時代のまとめ'))
454
+
455
+ * Ruby developers decided maintain minitest 4 and test/unit for Ruby's tests\n
456
+ (('note:Ruby開発者はRubyのテスト用にminitest 4とtest/unitをメンテナンスすることを決めた'))
457
+
458
+ = Ruby 2.2 times: 1\n(('note:Ruby 2.2の時代:1'))
459
+
460
+ * 2014-
461
+ * Update bundled minitest to 5\n
462
+ (('note:バンドルしているminitestを5に更新'))
463
+ * Move minitest 4 and test/unit to test/\n
464
+ (('note:minitest 4とtest/unitはtest/以下に移動'))
465
+
466
+ = Update minitest to 5\n(('note:minitest 5に更新'))
467
+
468
+ # coderay diff
469
+ - lib/minitest/*.rb
470
+ + test/lib/minitest/*.rb
471
+ - lib/test/unit.rb
472
+ + test/lib/test/unit.rb
473
+ - lib/test/unit/**/*.rb
474
+ + test/lib/test/unit/**/*.rb
475
+
476
+ = Ruby 2.2 times: 2\n(('note:Ruby 2.2の時代:2'))
477
+
478
+ * Bundle test-unit gem again for users\n
479
+ (('note:再びtest-unit gemをバンドル'))
480
+ * Ruby 1.9 dropped test-unit gem\n
481
+ (('note:Ruby 1.9はtest-unit gemを捨てた'))
482
+
483
+ = Bundle test-unit again\n(('note:test-unitを再びバンドル'))
484
+
485
+ test-unit gem provides:
486
+
487
+ lib/test-unit.rb
488
+ lib/test/unit.rb
489
+ lib/test/unit/**/*.rb
490
+
491
+ = test/unit in Ruby 2.2
492
+
493
+ * test/unit means test/lib/test/unit for Ruby developers
494
+ * test/unit means lib/test/unit for users
495
+
496
+ = TODO...
data/theme.rb ADDED
@@ -0,0 +1,3 @@
1
+ @title_slide_title_font_size = @large_font_size
2
+
3
+ include_theme("clear-code")
metadata ADDED
@@ -0,0 +1,85 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rabbit-slide-kou-rubykaigi-2015
3
+ version: !ruby/object:Gem::Version
4
+ version: 2015.12.12.0
5
+ platform: ruby
6
+ authors:
7
+ - Kouhei Sutou
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-12-04 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rabbit
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 2.0.2
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 2.0.2
27
+ - !ruby/object:Gem::Dependency
28
+ name: rabbit-theme-clear-code
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 1.0.5
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 1.0.5
41
+ description: |-
42
+ This talk describes about the history of testing framework in Ruby.
43
+
44
+ Ruby 2.2 bundles two testing frameworks. They are minitest and test-unit. Do you know why two testing frameworks are bundled? Do you know that test-unit was bundled and then removed from Ruby distribution? If you can't answer these questions and you're interested in testing framework, this talk will help you.
45
+
46
+ This talk describes about the history of bundled testing framework in Ruby and some major testing frameworks for Ruby in chronological order.
47
+ email:
48
+ - kou@clear-code.com
49
+ executables: []
50
+ extensions: []
51
+ extra_rdoc_files: []
52
+ files:
53
+ - ".rabbit"
54
+ - README.rd
55
+ - Rakefile
56
+ - config.yaml
57
+ - images/clear-code-is-a-silver-sponsor.png
58
+ - pdf/rubykaigi-2015-the-history-of-testing-framework-in-ruby.pdf
59
+ - the-history-of-testing-framework-in-ruby.rab
60
+ - theme.rb
61
+ homepage: http://slide.rabbit-shocker.org/authors/kou/rubykaigi-2015/
62
+ licenses:
63
+ - CC BY-SA 4.0
64
+ metadata: {}
65
+ post_install_message:
66
+ rdoc_options: []
67
+ require_paths:
68
+ - lib
69
+ required_ruby_version: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ version: '0'
74
+ required_rubygems_version: !ruby/object:Gem::Requirement
75
+ requirements:
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ version: '0'
79
+ requirements: []
80
+ rubyforge_project:
81
+ rubygems_version: 2.4.5.1
82
+ signing_key:
83
+ specification_version: 4
84
+ summary: The history of testing framework in Ruby
85
+ test_files: []