SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Downloaden Sie, um offline zu lesen
cucumber-jvmで
  受け入れテスト
岡山Javaユーザ会 吉田貴文(@zephiransas)
宣伝

• 第1回JUnit実践入門読書会やるよ
• 2013/1/26(土) 13:00 17:00
• 岡山県立図書館
• #junitbook で検索!
今日話すこと
• Cucumberとは
• 導入方法
• テストの書き方
• 課題
• まとめとQ&A
Cucumberとは
Cucumberとは
• テストツールの1種
• アプリケーションの振る舞いをテスト
• 元はRuby製
• 自然言語(日本語)でテストを書ける
• Webアプリの受け入れテストに便利
テストの例
導入方法
導入方法

• mavenのタスクから
• verify or integration-testフェーズで実行
• ローカルにAPサーバを展開してDeploy
• pom.xmlの設定が多いので注意
テストの流れ
• warをビルド
• APサーバをstart
• warをDeploy
• cucumberを実行
• APサーバをstop
maven-failsafe-plugin




• integration-testを実行する
build-helper-maven-plugin


• Cucumberのテストをコンパイルする
 • src/it/java
 • src/it/resources
maven-surefire-plugin


• テスト時にユニットテストを実行しな
 いようにする

• src/test/javaをテスト対象外に
cargo-maven2-plugin

• APサーバの展開
• start&stop
• warのdeploy
• URLを指定しておけば、勝手に取得し
 てくれる
テストの書き方
テストの書き方
• featureにテストのシナリオを書く
• 対応する実行手順をsrc/it/javaに書く
 • @前提,@もし,@ならばアノテーション
 • 使い分けは意識しなくてOK
 • SeleniumのAPIで操作
featureファイル
ステップの定義
デモ
https://github.com/
   zephiransas/
cucumber-example
課題
課題
• headlessで実行したい
• 特定のfeatureだけ実行したい
• DBへのfixture投入
• pom.xmlの記述量
• plugin欲しい
 • mvn cucumber:run
まとめ

• テストシナリオが日本語で書ける
• pom.xmlの記述が多いのでサンプルの
 コピペ推奨

• ユニットテストと合わせて快適テスト
 環境
Q&A
cucumber-jvmで
  受け入れテスト
岡山Javaユーザ会 吉田貴文(@zephiransas)

Weitere ähnliche Inhalte

Was ist angesagt? (6)

20121019-jenkins-akiko_pusu.pdf
20121019-jenkins-akiko_pusu.pdf20121019-jenkins-akiko_pusu.pdf
20121019-jenkins-akiko_pusu.pdf
 
Ansibleハンズオン勉強会
Ansibleハンズオン勉強会Ansibleハンズオン勉強会
Ansibleハンズオン勉強会
 
Varnish
VarnishVarnish
Varnish
 
Calabashでbddしようぜ
CalabashでbddしようぜCalabashでbddしようぜ
Calabashでbddしようぜ
 
邪道Jenkins
邪道Jenkins邪道Jenkins
邪道Jenkins
 
誰でも出来るローカル開発環境の作り方
誰でも出来るローカル開発環境の作り方誰でも出来るローカル開発環境の作り方
誰でも出来るローカル開発環境の作り方
 

Andere mochten auch

開発者による現実的な自動化テスト及びRubyのテストツールについて
開発者による現実的な自動化テスト及びRubyのテストツールについて開発者による現実的な自動化テスト及びRubyのテストツールについて
開発者による現実的な自動化テスト及びRubyのテストツールについて
Takaaki Kasai
 

Andere mochten auch (6)

Lightfish触ってみた
Lightfish触ってみたLightfish触ってみた
Lightfish触ってみた
 
一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理
 
開発者による現実的な自動化テスト及びRubyのテストツールについて
開発者による現実的な自動化テスト及びRubyのテストツールについて開発者による現実的な自動化テスト及びRubyのテストツールについて
開発者による現実的な自動化テスト及びRubyのテストツールについて
 
チームファシリテーション体験研修のご紹介
チームファシリテーション体験研修のご紹介チームファシリテーション体験研修のご紹介
チームファシリテーション体験研修のご紹介
 
KPTふりかえり実践研修のご紹介
KPTふりかえり実践研修のご紹介KPTふりかえり実践研修のご紹介
KPTふりかえり実践研修のご紹介
 
KPTふりかえり会体験研修のご紹介
KPTふりかえり会体験研修のご紹介KPTふりかえり会体験研修のご紹介
KPTふりかえり会体験研修のご紹介
 

Ähnlich wie cucumber-jvmで受け入れテスト

★女子限定★Raspberry piをさわってみよう!java女子部
★女子限定★Raspberry piをさわってみよう!java女子部★女子限定★Raspberry piをさわってみよう!java女子部
★女子限定★Raspberry piをさわってみよう!java女子部
Kazuko Shikiya
 
小さく始めて後で困らないためのVPCとChefを使ったAWS運用
小さく始めて後で困らないためのVPCとChefを使ったAWS運用小さく始めて後で困らないためのVPCとChefを使ったAWS運用
小さく始めて後で困らないためのVPCとChefを使ったAWS運用
Satoru Nakamura
 
Cake php + php unitによる実践的ユニットテスト
Cake php + php unitによる実践的ユニットテストCake php + php unitによる実践的ユニットテスト
Cake php + php unitによる実践的ユニットテスト
慶信 若松
 

Ähnlich wie cucumber-jvmで受け入れテスト (8)

ハイパフォーマンスSeleniumテスト@サイボウズ
ハイパフォーマンスSeleniumテスト@サイボウズハイパフォーマンスSeleniumテスト@サイボウズ
ハイパフォーマンスSeleniumテスト@サイボウズ
 
Raspberry PiにUSBカメラを付けて撮影した写真をTwitterにアップする
Raspberry PiにUSBカメラを付けて撮影した写真をTwitterにアップするRaspberry PiにUSBカメラを付けて撮影した写真をTwitterにアップする
Raspberry PiにUSBカメラを付けて撮影した写真をTwitterにアップする
 
JavaのテストGroovyでいいのではないかという話
JavaのテストGroovyでいいのではないかという話JavaのテストGroovyでいいのではないかという話
JavaのテストGroovyでいいのではないかという話
 
★女子限定★Raspberry piをさわってみよう!java女子部
★女子限定★Raspberry piをさわってみよう!java女子部★女子限定★Raspberry piをさわってみよう!java女子部
★女子限定★Raspberry piをさわってみよう!java女子部
 
小さく始めて後で困らないためのVPCとChefを使ったAWS運用
小さく始めて後で困らないためのVPCとChefを使ったAWS運用小さく始めて後で困らないためのVPCとChefを使ったAWS運用
小さく始めて後で困らないためのVPCとChefを使ったAWS運用
 
Jenkins + awsで並列テスト
Jenkins + awsで並列テストJenkins + awsで並列テスト
Jenkins + awsで並列テスト
 
インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~
インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~
インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~
 
Cake php + php unitによる実践的ユニットテスト
Cake php + php unitによる実践的ユニットテストCake php + php unitによる実践的ユニットテスト
Cake php + php unitによる実践的ユニットテスト
 

Mehr von Takafumi Yoshida (9)

Javaから見たRubyの世界
Javaから見たRubyの世界Javaから見たRubyの世界
Javaから見たRubyの世界
 
はじめよう!Github
はじめよう!Githubはじめよう!Github
はじめよう!Github
 
なれる!SE 読んでみた
なれる!SE 読んでみたなれる!SE 読んでみた
なれる!SE 読んでみた
 
Play with Playframework
Play with PlayframeworkPlay with Playframework
Play with Playframework
 
Java7再入門講座
Java7再入門講座Java7再入門講座
Java7再入門講座
 
GlassFishとJavascriptで始めるWebsocket
GlassFishとJavascriptで始めるWebsocketGlassFishとJavascriptで始めるWebsocket
GlassFishとJavascriptで始めるWebsocket
 
初めてのJavaOne~ところで俺のiPhoneどこいった~
初めてのJavaOne~ところで俺のiPhoneどこいった~初めてのJavaOne~ところで俺のiPhoneどこいった~
初めてのJavaOne~ところで俺のiPhoneどこいった~
 
Glassfishで始める モテる!簡単クラスタ入門 Ver1.5
Glassfishで始める モテる!簡単クラスタ入門  Ver1.5Glassfishで始める モテる!簡単クラスタ入門  Ver1.5
Glassfishで始める モテる!簡単クラスタ入門 Ver1.5
 
Glassfishで始める モテる!簡単クラスタ入門
Glassfishで始める モテる!簡単クラスタ入門Glassfishで始める モテる!簡単クラスタ入門
Glassfishで始める モテる!簡単クラスタ入門
 

Kürzlich hochgeladen

Kürzlich hochgeladen (10)

論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 

cucumber-jvmで受け入れテスト