SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
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)

Contenu connexe

Tendances

20121019-jenkins-akiko_pusu.pdf
20121019-jenkins-akiko_pusu.pdf20121019-jenkins-akiko_pusu.pdf
20121019-jenkins-akiko_pusu.pdfakiko_pusu
 
Ansibleハンズオン勉強会
Ansibleハンズオン勉強会Ansibleハンズオン勉強会
Ansibleハンズオン勉強会Takahisa Iwamoto
 
Calabashでbddしようぜ
CalabashでbddしようぜCalabashでbddしようぜ
Calabashでbddしようぜ豊明 尾古
 
誰でも出来るローカル開発環境の作り方
誰でも出来るローカル開発環境の作り方誰でも出来るローカル開発環境の作り方
誰でも出来るローカル開発環境の作り方666oh666
 

Tendances (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
 
誰でも出来るローカル開発環境の作り方
誰でも出来るローカル開発環境の作り方誰でも出来るローカル開発環境の作り方
誰でも出来るローカル開発環境の作り方
 

En vedette

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

En vedette (6)

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

Similaire à cucumber-jvmで受け入れテスト

ハイパフォーマンスSeleniumテスト@サイボウズ
ハイパフォーマンスSeleniumテスト@サイボウズハイパフォーマンスSeleniumテスト@サイボウズ
ハイパフォーマンスSeleniumテスト@サイボウズJumpei Miyata
 
Raspberry PiにUSBカメラを付けて撮影した写真をTwitterにアップする
Raspberry PiにUSBカメラを付けて撮影した写真をTwitterにアップするRaspberry PiにUSBカメラを付けて撮影した写真をTwitterにアップする
Raspberry PiにUSBカメラを付けて撮影した写真をTwitterにアップするKazuko Shikiya
 
JavaのテストGroovyでいいのではないかという話
JavaのテストGroovyでいいのではないかという話JavaのテストGroovyでいいのではないかという話
JavaのテストGroovyでいいのではないかという話disc99_
 
★女子限定★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
 
Jenkins + awsで並列テスト
Jenkins + awsで並列テストJenkins + awsで並列テスト
Jenkins + awsで並列テストYamamoto Kazuhisa
 
インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~
インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~
インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~JustSystems Corporation
 
Cake php + php unitによる実践的ユニットテスト
Cake php + php unitによる実践的ユニットテストCake php + php unitによる実践的ユニットテスト
Cake php + php unitによる実践的ユニットテスト慶信 若松
 

Similaire à 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による実践的ユニットテスト
 

Plus de Takafumi Yoshida

Javaから見たRubyの世界
Javaから見たRubyの世界Javaから見たRubyの世界
Javaから見たRubyの世界Takafumi Yoshida
 
なれる!SE 読んでみた
なれる!SE 読んでみたなれる!SE 読んでみた
なれる!SE 読んでみたTakafumi Yoshida
 
GlassFishとJavascriptで始めるWebsocket
GlassFishとJavascriptで始めるWebsocketGlassFishとJavascriptで始めるWebsocket
GlassFishとJavascriptで始めるWebsocketTakafumi Yoshida
 
初めてのJavaOne~ところで俺のiPhoneどこいった~
初めてのJavaOne~ところで俺のiPhoneどこいった~初めてのJavaOne~ところで俺のiPhoneどこいった~
初めてのJavaOne~ところで俺のiPhoneどこいった~Takafumi Yoshida
 
Glassfishで始める モテる!簡単クラスタ入門 Ver1.5
Glassfishで始める モテる!簡単クラスタ入門  Ver1.5Glassfishで始める モテる!簡単クラスタ入門  Ver1.5
Glassfishで始める モテる!簡単クラスタ入門 Ver1.5Takafumi Yoshida
 
Glassfishで始める モテる!簡単クラスタ入門
Glassfishで始める モテる!簡単クラスタ入門Glassfishで始める モテる!簡単クラスタ入門
Glassfishで始める モテる!簡単クラスタ入門Takafumi Yoshida
 

Plus de 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で始める モテる!簡単クラスタ入門
 

Dernier

LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
論文紹介: 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 Gamesatsushi061452
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
論文紹介: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 UnderstandingToru Tamaki
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介: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...Toru Tamaki
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 

Dernier (11)

LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介: 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の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
論文紹介: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
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介: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...
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 

cucumber-jvmで受け入れテスト