Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CakePHP2+BDD Pluginを使ってみよう!
Search
Kaz Watanabe
February 14, 2013
Technology
740
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CakePHP2+BDD Pluginを使ってみよう!
Kaz Watanabe
February 14, 2013
More Decks by Kaz Watanabe
See All by Kaz Watanabe
開発エンジニアが取り組む DevSecOps ~ GitHub Enterprise × Azure での実践~
kaz29
0
38
Greenは本当にGreenか? - B/GデプロイとAPI自動テストで安心デプロイ
kaz29
1
200
CI/CD/IaC 久々に0から環境を作ったらこうなりました
kaz29
1
490
開発エンジニアが実践するDevSecOps
kaz29
0
170
PHPCon福岡2024-Azureもなかなかいいですよ.pdf
kaz29
2
380
Azure Container Apps + Bicep 〜 こんな感じで運用しています
kaz29
3
1.3k
20220908_フロントエンドパフォーマンス改善.pdf
kaz29
2
200
PHP製のPodCast配信用WebアプリをReact+Next.jsなSSGで作り直してみた話
kaz29
3
720
バックエンドエンジニアの私がお勧めする SPAフロントエンド開発環境
kaz29
6
6.3k
Other Decks in Technology
See All in Technology
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
4
24k
Apache Icebergインフラストラクチャ:ストレージ・カタログ・エンジンの選択肢とClouderaプラットフォームでの実装
tsugiyama
0
120
LLM・AIエージェントシステムベストプラクティス
shibuiwilliam
6
1.5k
AIにブラウザを触らせて、E2EテストをPlaywrightで書く
koji_kawamura
0
120
[potatotips #96] Give Your AI Agent the Flutter Playbook
korodroid
0
110
JavaScript 研修 (2026)
recruitengineers
PRO
2
650
生成 AI の基礎 〜 サンプル実装で学ぶ基本原理
enakai00
7
4.4k
現場回帰したデータエンジニアが考える AI 時代のキャリア開発 / Career Development in the Age of AI Perspectives from a Hands-on Data Engineer
medley
0
260
ブラウザ研修 2026
recruitengineers
PRO
7
1.3k
SmartHR Engineering Team Deck
smarthr
1
3k
会社紹介資料 / Sansan Company Profile
sansan33
PRO
24
430k
DDDのエッセンスを取り入れたAIでの開発
ak2ie
0
150
Featured
See All Featured
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
480
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.8k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
250
Optimizing for Happiness
mojombo
378
71k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Writing Fast Ruby
sferik
630
63k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
410
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
260
Optimising Largest Contentful Paint
csswizardry
37
3.9k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Transcript
CakePHP2+BDD PluginΛ ͬͯΈΑ͏ʂ 2013/02/14 ୈҰճCakeBeerTalk @kaz_29 132݄14༵
who? • Θͨͳ͔ͣͻΖ(@kaz_29) • ϑϦʔϥϯε(decr.jp) • Webܥͷ։ൃ • ΞϓϦ͔ΒΠϯϑϥ·Ͱ... •
iPhone/iPadΞϓϦ։ൃ • NiftyCloudϢʔβʔϒϩά #iphonedev #cakephp #golf #cat #beer 132݄14༵
ిྗάϥϑ DNS Console for Dozens 132݄14༵
What is BDD? 132݄14༵
Behavior Driven Development ৼ ۦಈ ։ൃ 132݄14༵
l͜Ε͔Β࡞͠Α͏ͱ͢Δϓϩάϥ Ϝʹظ͞ΕΔʮৼΔ͍ʯʮ੍ ݅ʯɺͭ·Γʮཁٻ༷ʯʹ͍ۙܗ ͰɺࣗવݴޠΛซه͠ͳ͕Βςετί ʔυΛهड़͢ΔɻςετϑϨʔϜϫʔ Ϋͷϝιου໊ࣗવݴޠʹ͍ۙܗΛ ͱ͍ͬͯΔɻ http://ja.wikipedia.org/wiki/ϏϔΠϏΞۦಈ։ൃ 132݄14༵
# language: ja ϑΟʔνϟ: ϒϩάͷهࣄΛӾཡ͍ͨ͠ ͳͥͳΒϒϩάͷهࣄΛӾཡ͢Δ͜ͱͰɺ࠷৽ͷใΛೖख͍͔ͨ͠Βͩ എܠ:
લఏ ϒϩάهࣄʹҎԼͷ༰͕ొ͞Ε͍ͯΔ͜ͱ: | λΠτϧ | ຊจ | | λΠτϧ | ͜ΕɺهࣄͷຊจͰ͢ɻ | | ·ͨλΠτϧ | ͦ͜ʹຊจ͕ଓ͖·͢ɻ | | Title strikes back | ͜ΓΌຊʹΘ͘Θ͘͢Δʂ͏ͦɻ | γφϦΦ: هࣄҰཡΛӾཡͰ͖Δ͜ͱ લఏ "τοϓϖʔδ" Λද͍ࣔͯ͠Δ ͳΒ "λΠτϧ" ͱදࣔ͞Ε͍ͯΔ͜ͱ ͔ͭ "·ͨλΠτϧ" ͱදࣔ͞Ε͍ͯΔ͜ͱ ͔ͭ "Title strikes back" ͱදࣔ͞Ε͍ͯΔ͜ͱ BDD Plugin αϯϓϧΑΓ ϑΟʔνϟ γφϦΦ εςοϓ 132݄14༵
ར༻ՄೳͳStep $ ./app/Console/cake Bdd.Story --lang ja -dl (-di) 132݄14༵
ετʔϦʔͷهड़จ๏ $ ./app/Console/cake Bdd.Story --lang ja --story-syntax 132݄14༵
BDD plugin for CakePHP2 https://github.com/sizuhiko/Bdd 132݄14༵
Functions • Spec (Spec for PHP) • CakePHPͷfixture͕͑Δ • ࠷ۙίʔυΧόϨοδΛऔΕΔ༷ʹͳͬͨ
• Story (Behat) • CakePHP༻ͷDB࿈ܞػೳ(truncateModel/getModel) • URLͷaliasػೳ • Other • URLͷΤΠϦΞεػೳ(ετʔϦͷՄಡੑ্ͷͨΊʣ 132݄14༵
Install $ git submodule add https://github.com/sizuhiko/Bdd.git plugins/Bdd $ cd plgins/Bdd
$ curl -s https://getcomposer.org/installer | php $ php composer.phar install --dev $ ./app/Console/cake Bdd.init BDD Plugin ೖΕΔ ϥΠϒϥϦ܈ೖΕΔ (composer) ͻͳܗΛࣗಈੜ 132݄14༵
DEMO 132݄14༵
• window.confirm/alertɺhtmlunitͰೝࣝͰ͖ ͳ͍ͨΊΘͳ͍ํ͕ྑ͍ • ϒϥβʹΑͬͯɺλΠϛϯά͕ͣΕͯΤϥ ʔ͕ग़Δࣄ͕͋ΔͷͰwaitΛ͍Εͯௐ͢Δ ඞཁ͕͋Δ • Mac SafariͷύεϫʔυอଘμΠΞϩά
• UTF-8ͷΈ ҙ 132݄14༵
՝ • όϥϯε • ίϯτϩʔϥͷςετ/डೖΕςετ • Ͳ͜·Ͱςετॻ͘ʁ • ͕ͬͭΓJavaScriptͬͯΔͱͬͺΓॻ͖ ʹ͍͘
• ϒϥβຖͷλΠϛϯάௐ • डೖΕςετޭͰࣗಈσϓϩΠ • UnitTest or Spec? 132݄14༵
fin !LB[@ 132݄14༵