Submit Search
Upload
RSpecPiccolo gem
•
0 likes
•
1,022 views
tbpgr
Follow
About Ruby gem library "RSpecPiccolo gem"
Read less
Read more
Technology
Report
Share
Report
Share
1 of 29
Download now
Download to read offline
Recommended
Laravelのパッケージのテストに便利なパッケージ
Laravelのパッケージのテストに便利なパッケージ
Yuta Nagamiya
Groovy joint
Groovy joint
Shinya Mochida
Turnip
Turnip
Yoichi Toyota
Terna jogo Final Log Book
Terna jogo Final Log Book
TernaJogo
Analisis Regresi
Analisis Regresi
Nurrahmah Fitria
4/1
4/1
สุทาวัฒน์ คำสร้าง
GelecekHane - Endüstri 2.0 Konferansı: Halil Aksu - Giriş Sunumu
GelecekHane - Endüstri 2.0 Konferansı: Halil Aksu - Giriş Sunumu
Gelecek Hane
الكفاح المسلح
الكفاح المسلح
zulabook
Recommended
Laravelのパッケージのテストに便利なパッケージ
Laravelのパッケージのテストに便利なパッケージ
Yuta Nagamiya
Groovy joint
Groovy joint
Shinya Mochida
Turnip
Turnip
Yoichi Toyota
Terna jogo Final Log Book
Terna jogo Final Log Book
TernaJogo
Analisis Regresi
Analisis Regresi
Nurrahmah Fitria
4/1
4/1
สุทาวัฒน์ คำสร้าง
GelecekHane - Endüstri 2.0 Konferansı: Halil Aksu - Giriş Sunumu
GelecekHane - Endüstri 2.0 Konferansı: Halil Aksu - Giriş Sunumu
Gelecek Hane
الكفاح المسلح
الكفاح المسلح
zulabook
SublimeSunippetter gem
SublimeSunippetter gem
tbpgr
Chukwuma gwude
Chukwuma gwude
Chukwuma Gwude
Mr beans christmas
Mr beans christmas
nicodex
Grammar1
Grammar1
aliisroni
Tuesday night owl! 1.21
Tuesday night owl! 1.21
mrsbubba33
Engineering project management
Engineering project management
Gautam Shah
fine arts eight women possesorஎண்வகைத் தலைவிகள்
fine arts eight women possesorஎண்வகைத் தலைவிகள்
Dinojan Sivanandarajah
Evaluation one
Evaluation one
AliciaRhodes11
Corporate presentation (april 2014)
Corporate presentation (april 2014)
oncolyticsinc
A PROJECT REPORT ON “ALKYL ARYL SULFONATE”
A PROJECT REPORT ON “ALKYL ARYL SULFONATE”
Ashish Kavaiya
Evaluation one (1)
Evaluation one (1)
AliciaRhodes11
สื่อการเรียนรู้
สื่อการเรียนรู้
สุทาวัฒน์ คำสร้าง
Par2012
Par2012
tganesan29
Smartphones' Security
Smartphones' Security
Nicola Cadenelli
Corporate presentation-(september-2015-corrected)
Corporate presentation-(september-2015-corrected)
oncolyticsinc
May 2016 Corporate Presentation
May 2016 Corporate Presentation
oncolyticsinc
Cobolでもやりたいテスト自動化
Cobolでもやりたいテスト自動化
daisukhayash
Osaka Venture Meetup #3
Osaka Venture Meetup #3
Kiyotaka Oku
RcppEigen and SVD
RcppEigen and SVD
Xiangze
What is JSpec
What is JSpec
eiji ienaga
ng-japan 2015 TypeScript+AngularJS 1.3
ng-japan 2015 TypeScript+AngularJS 1.3
Masahiro Wakame
Cookpad 17 day Tech internship 2017 言語処理系入門 Rubyをコンパイルしよう
Cookpad 17 day Tech internship 2017 言語処理系入門 Rubyをコンパイルしよう
Koichi Sasada
More Related Content
Viewers also liked
SublimeSunippetter gem
SublimeSunippetter gem
tbpgr
Chukwuma gwude
Chukwuma gwude
Chukwuma Gwude
Mr beans christmas
Mr beans christmas
nicodex
Grammar1
Grammar1
aliisroni
Tuesday night owl! 1.21
Tuesday night owl! 1.21
mrsbubba33
Engineering project management
Engineering project management
Gautam Shah
fine arts eight women possesorஎண்வகைத் தலைவிகள்
fine arts eight women possesorஎண்வகைத் தலைவிகள்
Dinojan Sivanandarajah
Evaluation one
Evaluation one
AliciaRhodes11
Corporate presentation (april 2014)
Corporate presentation (april 2014)
oncolyticsinc
A PROJECT REPORT ON “ALKYL ARYL SULFONATE”
A PROJECT REPORT ON “ALKYL ARYL SULFONATE”
Ashish Kavaiya
Evaluation one (1)
Evaluation one (1)
AliciaRhodes11
สื่อการเรียนรู้
สื่อการเรียนรู้
สุทาวัฒน์ คำสร้าง
Par2012
Par2012
tganesan29
Smartphones' Security
Smartphones' Security
Nicola Cadenelli
Corporate presentation-(september-2015-corrected)
Corporate presentation-(september-2015-corrected)
oncolyticsinc
May 2016 Corporate Presentation
May 2016 Corporate Presentation
oncolyticsinc
Viewers also liked
(16)
SublimeSunippetter gem
SublimeSunippetter gem
Chukwuma gwude
Chukwuma gwude
Mr beans christmas
Mr beans christmas
Grammar1
Grammar1
Tuesday night owl! 1.21
Tuesday night owl! 1.21
Engineering project management
Engineering project management
fine arts eight women possesorஎண்வகைத் தலைவிகள்
fine arts eight women possesorஎண்வகைத் தலைவிகள்
Evaluation one
Evaluation one
Corporate presentation (april 2014)
Corporate presentation (april 2014)
A PROJECT REPORT ON “ALKYL ARYL SULFONATE”
A PROJECT REPORT ON “ALKYL ARYL SULFONATE”
Evaluation one (1)
Evaluation one (1)
สื่อการเรียนรู้
สื่อการเรียนรู้
Par2012
Par2012
Smartphones' Security
Smartphones' Security
Corporate presentation-(september-2015-corrected)
Corporate presentation-(september-2015-corrected)
May 2016 Corporate Presentation
May 2016 Corporate Presentation
Similar to RSpecPiccolo gem
Cobolでもやりたいテスト自動化
Cobolでもやりたいテスト自動化
daisukhayash
Osaka Venture Meetup #3
Osaka Venture Meetup #3
Kiyotaka Oku
RcppEigen and SVD
RcppEigen and SVD
Xiangze
What is JSpec
What is JSpec
eiji ienaga
ng-japan 2015 TypeScript+AngularJS 1.3
ng-japan 2015 TypeScript+AngularJS 1.3
Masahiro Wakame
Cookpad 17 day Tech internship 2017 言語処理系入門 Rubyをコンパイルしよう
Cookpad 17 day Tech internship 2017 言語処理系入門 Rubyをコンパイルしよう
Koichi Sasada
Introduction to guard + rspec
Introduction to guard + rspec
koko_u
Testing in Sinatra
Testing in Sinatra
Uchio Kondo
らくちん Go言語
らくちん Go言語
株式会社YEBIS.XYZ
最近の単体テスト
最近の単体テスト
Ken Morishita
RgGen ご紹介
RgGen ご紹介
Taichi Ishitani
[UE4]自動テストでもっと楽したい!
[UE4]自動テストでもっと楽したい!
com044
Openshift 20191121
Openshift 20191121
Yasushi Osonoi
ocamloptの全体像
ocamloptの全体像
Kiwamu Okabe
20150228_渋谷Webエンジニア朝会LT資料
20150228_渋谷Webエンジニア朝会LT資料
慎平 仁藤
ニコニコを支える Erlang / Elixir
ニコニコを支える Erlang / Elixir
kojingharang
OSC 2016 Hokkaido セミナー資料
OSC 2016 Hokkaido セミナー資料
slankdev
Leiningen超速入門
Leiningen超速入門
Kiyotaka Kunihira
【Unity道場 名古屋SP】Unity導入から活用までの開発フローを大公開
【Unity道場 名古屋SP】Unity導入から活用までの開発フローを大公開
Unity Technologies Japan K.K.
capybara で快適なテスト生活を
capybara で快適なテスト生活を
Ryunosuke SATO
Similar to RSpecPiccolo gem
(20)
Cobolでもやりたいテスト自動化
Cobolでもやりたいテスト自動化
Osaka Venture Meetup #3
Osaka Venture Meetup #3
RcppEigen and SVD
RcppEigen and SVD
What is JSpec
What is JSpec
ng-japan 2015 TypeScript+AngularJS 1.3
ng-japan 2015 TypeScript+AngularJS 1.3
Cookpad 17 day Tech internship 2017 言語処理系入門 Rubyをコンパイルしよう
Cookpad 17 day Tech internship 2017 言語処理系入門 Rubyをコンパイルしよう
Introduction to guard + rspec
Introduction to guard + rspec
Testing in Sinatra
Testing in Sinatra
らくちん Go言語
らくちん Go言語
最近の単体テスト
最近の単体テスト
RgGen ご紹介
RgGen ご紹介
[UE4]自動テストでもっと楽したい!
[UE4]自動テストでもっと楽したい!
Openshift 20191121
Openshift 20191121
ocamloptの全体像
ocamloptの全体像
20150228_渋谷Webエンジニア朝会LT資料
20150228_渋谷Webエンジニア朝会LT資料
ニコニコを支える Erlang / Elixir
ニコニコを支える Erlang / Elixir
OSC 2016 Hokkaido セミナー資料
OSC 2016 Hokkaido セミナー資料
Leiningen超速入門
Leiningen超速入門
【Unity道場 名古屋SP】Unity導入から活用までの開発フローを大公開
【Unity道場 名古屋SP】Unity導入から活用までの開発フローを大公開
capybara で快適なテスト生活を
capybara で快適なテスト生活を
Recently uploaded
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
Recently uploaded
(10)
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
RSpecPiccolo gem
1.
RSpecPiccolo Gem について Presented
by @tbpgr
2.
目次 ● エレベーターピッチ ● ケース 1 インスタンスメソッドのテスト ● ケース
2 クラスメソッドのテスト ● ケース 3 プロダクトコードのひな形も同時に作成 ● 導入方法 ● 得したこと
3.
エレベーターピッチ
4.
エレベーターピッチ ● RSpecPiccolo って何?
5.
エレベーターピッチ ● RSpecPiccolo って何? ● テストを楽に作りたい
6.
エレベーターピッチ ● RSpecPiccolo って何? ● テストを楽に作りたい ● Ruby 開発者向けの
7.
エレベーターピッチ ● RSpecPiccolo って何? ● テストを楽に作りたい ● Ruby 開発者向けの ● RSpecPiccolo
という gem は
8.
エレベーターピッチ ● RSpecPiccolo って何? ● テストを楽に作りたい ● Ruby 開発者向けの ● RSpecPiccolo
という gem は ● テストコード生成ツールです
9.
エレベーターピッチ ● RSpecPiccolo って何? ● テストを楽に作りたい ● Ruby 開発者向けの ● RSpecPiccolo
という gem は ● テストコード生成ツールです ● これはパラメータ化テストのテンプレートを出力でき
10.
エレベーターピッチ ● RSpecPiccolo って何? ● テストを楽に作りたい ● Ruby 開発者向けの ● RSpecPiccolo
という gem は ● テストコード生成ツールです ● これはパラメータ化テストのテンプレートを出力でき ● 手動作成と違って
11.
エレベーターピッチ ● RSpecPiccolo って何? ● テストを楽に作りたい ● Ruby 開発者向けの ● RSpecPiccolo
という gem は ● テストコード生成ツールです ● これはパラメータ化テストのテンプレートを出力でき ● 手動作成と違って ● ボイラーテンプレートの出力機能が備わっている
12.
ケース 1 インスタンスメソッドのテスト
13.
ケース 1 インスタンスメソッドのテスト ● コンソールで
piccolo コマンドを実行 ● 第 1 引数はモジュール名+クラス名 ● 第 2 引数はファイル名 ● 第 3 引数以降はメソッド名(必要な数分) piccolo e Hoge::Core hoge_core hoge hige hage
14.
ケース 1 インスタンスメソッドのテスト ● 出力結果は・・・
15.
ケース 1 インスタンスメソッドのテスト ● require,
テストケースのリスト部 ● describe はモジュール名+クラス名。 context はメソッド名が自動で設定されている ● テストケースは 1 ケース 1 ハッシュで管理。必要なパラメータは手動で追加
16.
ケース 1 インスタンスメソッドのテスト ● テスト本体はテストケースのリスト分ループする構造になっている ● 1
つのメソッドは 1 つのテストケースで管理する ● case_before, base_after は case ごとの初期化・終了処理 ● context 全体の初期化、終了は RSpec の before,after を利用すればよい ● テストに必要となるインスタンスの取得、メソッドの実行、検証コードのひな形が予め出力されている
17.
ケース 1 インスタンスメソッドのテスト ● case_before
にケースごとの初期化処理を記述 ● case_after にケースごとの終了処理を記述
18.
ケース 1 インスタンスメソッドのテスト ● 同様の構造でメソッド数分テストコードが生成されている
19.
ケース 2 クラスメソッドのテスト
20.
ケース 2 クラスメソッドのテスト ● コンソールで
piccolo コマンドを実行。 ● 第 1 引数はモジュール名+クラス名 ● 第 2 引数はファイル名 ● 第 3 引数以降はメソッド名+ @c (必要な数分) ● インスタンスメソッドとの併用も可能 piccolo e Hoge::Core hoge_core hoge@c
21.
ケース 2 クラスメソッドのテスト ● 出力結果は・・・
22.
ケース 2 クラスメソッドのテスト ● ● インスタンスメソッドと同じ出力内容の箇所は説明省略 インスタンスの取得の代わりにクラスメソッドを直接呼び出すコードが 生成されている。
23.
ケース 3 プロダクトコードのひな形も同時に作成
24.
ケース 3 プロダクトコードのひな形も同時に作成 ● コンソールで
piccolo コマンドを実行。 ● 第 1 引数はモジュール名+クラス名 ● 第 2 引数はファイル名 ● 第 3 引数以降はメソッド名または属性 ※ クラスメソッドは @c, 属性は @f で指定可能 ● 属性はコンストラクタからの値設定コードつき piccolo e Hoge::Core hoge_core class_method@c instance_method attr1@f attr2@f -p
25.
ケース 3 プロダクトコードのひな形も同時に作成 ● 出力結果は・・・
26.
ケース 3 プロダクトコードのひな形も同時に作成 ● テストコードについては説明省略 ● プロダクトコードのひな形が
lib 配下に出力される ● attr_accessor_init は TbpgrUtils gem で提供しているフィールド定義+ initialize 定義を一括で行う クラスマクロ。 AttributesInitializable を include することで利用可能。
27.
導入 ● Bundler 利用時 Gemfile に『
gem 'rspec_piccolo' 』を記述して bundle を実行 ● gem install 利用時 gem install rspec_piccolo を実行 ● その他、より詳細な利用方法については GitHub 参照 https://github.com/tbpgr/rspec_piccolo Gem については下記参照 http://rubygems.org/gems/rspec_piccolo
28.
補足 ● ● もし生成されるコードの設計や記法等が好みではない場合は、アイデアだけ流用して自分好み の RSpecPiccolo 代替
gem を作成・公開してはいかがでしょうか? Piccolo はピッ○ロ大○王のイメージです。 「ポコペンポコペンダーレガツツイタ・・・う、うごっ。」と魔族の卵のごとくテストコード を生成しているイメージ。 ● 俺は MiniTest 派だ、という方はぜひ MiniTestMajunior gem を。 ● Ruby 使い以外の方も同様の観点でツールを作成してみるのはいかがでしょうか?私は Java の プロジェクトで RSpecPiccolo の JUnit 版とも言えるツールを作成して実プロジェクトで活用し たことがあります。 当時は Java の CLI ツールとして作成しましたが、もし今作るなら Groovy で Gradle のタスクと して作るだろうと思います。必要にかられていないので作りませんけど。
29.
Thank you!! ● Author :
@tbpgr ● Twitter : @tbpgr ● Blog : http://d.hatena.ne.jp/tbpg/ ● GitHub : https://github.com/tbpgr ● RubyGems : http://rubygems.org/profiles/tbpgr
Download now