Submit Search
Upload
JustTechTalk#10 React開発における自動テスト実践
•
0 likes
•
2,012 views
JustSystems Corporation
Follow
2017年10月27日の発表資料です。
Read less
Read more
Engineering
Slideshow view
Report
Share
Slideshow view
Report
Share
1 of 20
Recommended
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
Nozomi Ito
Selenium2でつくるテストケースの構成について
Selenium2でつくるテストケースの構成について
yufu yufu
ノンプログラマのためのSelenium de DDTはじめの一歩
ノンプログラマのためのSelenium de DDTはじめの一歩
Satsuki Urayama
#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオン
kyon mm
【STAC2017】テスト自動化システム 成長記
【STAC2017】テスト自動化システム 成長記
友隆 浅黄
Stac2014 石川
Stac2014 石川
Tatsuya Ishikawa
ハイパフォーマンスSeleniumテスト@サイボウズ
ハイパフォーマンスSeleniumテスト@サイボウズ
Jumpei Miyata
実践で学ぶ、効率的な自動テストスクリプトのメンテナンス
実践で学ぶ、効率的な自動テストスクリプトのメンテナンス
Nozomi Ito
Recommended
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
Nozomi Ito
Selenium2でつくるテストケースの構成について
Selenium2でつくるテストケースの構成について
yufu yufu
ノンプログラマのためのSelenium de DDTはじめの一歩
ノンプログラマのためのSelenium de DDTはじめの一歩
Satsuki Urayama
#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオン
kyon mm
【STAC2017】テスト自動化システム 成長記
【STAC2017】テスト自動化システム 成長記
友隆 浅黄
Stac2014 石川
Stac2014 石川
Tatsuya Ishikawa
ハイパフォーマンスSeleniumテスト@サイボウズ
ハイパフォーマンスSeleniumテスト@サイボウズ
Jumpei Miyata
実践で学ぶ、効率的な自動テストスクリプトのメンテナンス
実践で学ぶ、効率的な自動テストスクリプトのメンテナンス
Nozomi Ito
20121019 jenkins勉強会lt資料
20121019 jenkins勉強会lt資料
Hiroko Tamagawa
Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化
JustSystems Corporation
システムテスト自動化標準ガイド 5章発表資料
システムテスト自動化標準ガイド 5章発表資料
Masatoshi Itoh
reg-suitとQA Wolfを活用したVisual Regression Test
reg-suitとQA Wolfを活用したVisual Regression Test
Kazuyuki Tsuzisaki
ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014
Koji Hasegawa
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
Hiroko Tamagawa
Awsで実現するseleniumテスト高速術
Awsで実現するseleniumテスト高速術
finoue
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
kyon mm
STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015
STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015
Yahoo!デベロッパーネットワーク
初めての単体テスト
初めての単体テスト
Basuke Suzuki
iOSアプリ開発でもTravis CI #eytokyo
iOSアプリ開発でもTravis CI #eytokyo
Koji Hasegawa
異業種でのテスト自動化の実際
異業種でのテスト自動化の実際
Satsuki Urayama
4時間で学ぶ、効率的な自動テストスクリプトのメンテナンス
4時間で学ぶ、効率的な自動テストスクリプトのメンテナンス
Nozomi Ito
JenkinsとSeleniumの活用事例
JenkinsとSeleniumの活用事例
Takeshi Kondo
20161218 selenium study4
20161218 selenium study4
Naoya Kojima
Seleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトーク
Seleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトーク
Y Watanabe
EMTEを使って自動化の費用対効果をわかりやすく表現する
EMTEを使って自動化の費用対効果をわかりやすく表現する
JYERUEY
Azureを使って手軽にブラウザテストの自動化をはじめよう
Azureを使って手軽にブラウザテストの自動化をはじめよう
Naoya Kojima
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
Yahoo!デベロッパーネットワーク
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
JustSystems Corporation
JustTechTalk#10windowsアプリでのテスト自動化事例
JustTechTalk#10windowsアプリでのテスト自動化事例
JustSystems Corporation
インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~
インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~
JustSystems Corporation
More Related Content
What's hot
20121019 jenkins勉強会lt資料
20121019 jenkins勉強会lt資料
Hiroko Tamagawa
Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化
JustSystems Corporation
システムテスト自動化標準ガイド 5章発表資料
システムテスト自動化標準ガイド 5章発表資料
Masatoshi Itoh
reg-suitとQA Wolfを活用したVisual Regression Test
reg-suitとQA Wolfを活用したVisual Regression Test
Kazuyuki Tsuzisaki
ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014
Koji Hasegawa
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
Hiroko Tamagawa
Awsで実現するseleniumテスト高速術
Awsで実現するseleniumテスト高速術
finoue
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
kyon mm
STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015
STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015
Yahoo!デベロッパーネットワーク
初めての単体テスト
初めての単体テスト
Basuke Suzuki
iOSアプリ開発でもTravis CI #eytokyo
iOSアプリ開発でもTravis CI #eytokyo
Koji Hasegawa
異業種でのテスト自動化の実際
異業種でのテスト自動化の実際
Satsuki Urayama
4時間で学ぶ、効率的な自動テストスクリプトのメンテナンス
4時間で学ぶ、効率的な自動テストスクリプトのメンテナンス
Nozomi Ito
JenkinsとSeleniumの活用事例
JenkinsとSeleniumの活用事例
Takeshi Kondo
20161218 selenium study4
20161218 selenium study4
Naoya Kojima
Seleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトーク
Seleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトーク
Y Watanabe
EMTEを使って自動化の費用対効果をわかりやすく表現する
EMTEを使って自動化の費用対効果をわかりやすく表現する
JYERUEY
Azureを使って手軽にブラウザテストの自動化をはじめよう
Azureを使って手軽にブラウザテストの自動化をはじめよう
Naoya Kojima
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
Yahoo!デベロッパーネットワーク
What's hot
(19)
20121019 jenkins勉強会lt資料
20121019 jenkins勉強会lt資料
Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化
システムテスト自動化標準ガイド 5章発表資料
システムテスト自動化標準ガイド 5章発表資料
reg-suitとQA Wolfを活用したVisual Regression Test
reg-suitとQA Wolfを活用したVisual Regression Test
ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
Awsで実現するseleniumテスト高速術
Awsで実現するseleniumテスト高速術
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015
STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015
初めての単体テスト
初めての単体テスト
iOSアプリ開発でもTravis CI #eytokyo
iOSアプリ開発でもTravis CI #eytokyo
異業種でのテスト自動化の実際
異業種でのテスト自動化の実際
4時間で学ぶ、効率的な自動テストスクリプトのメンテナンス
4時間で学ぶ、効率的な自動テストスクリプトのメンテナンス
JenkinsとSeleniumの活用事例
JenkinsとSeleniumの活用事例
20161218 selenium study4
20161218 selenium study4
Seleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトーク
Seleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトーク
EMTEを使って自動化の費用対効果をわかりやすく表現する
EMTEを使って自動化の費用対効果をわかりやすく表現する
Azureを使って手軽にブラウザテストの自動化をはじめよう
Azureを使って手軽にブラウザテストの自動化をはじめよう
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
Viewers also liked
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
JustSystems Corporation
JustTechTalk#10windowsアプリでのテスト自動化事例
JustTechTalk#10windowsアプリでのテスト自動化事例
JustSystems Corporation
インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~
インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~
JustSystems Corporation
TypeScriptの大規模開発への適用
TypeScriptの大規模開発への適用
JustSystems Corporation
UX実現に向けた社内の取り組みについて-訴求ファーストによる商品開発-
UX実現に向けた社内の取り組みについて-訴求ファーストによる商品開発-
JustSystems Corporation
コンポーネント指向による、Reactのベストプラクティスとバッドプラクティス
コンポーネント指向による、Reactのベストプラクティスとバッドプラクティス
Kohei Asai
まだ DOM 操作で消耗してるの?
まだ DOM 操作で消耗してるの?
Yuki Ishikawa
AWS運用における最適パターンの徹底活用
AWS運用における最適パターンの徹底活用
JustSystems Corporation
失敗事例で学ぶ負荷試験
失敗事例で学ぶ負荷試験
樽八 仲川
Viewers also liked
(9)
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
JustTechTalk#10windowsアプリでのテスト自動化事例
JustTechTalk#10windowsアプリでのテスト自動化事例
インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~
インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~
TypeScriptの大規模開発への適用
TypeScriptの大規模開発への適用
UX実現に向けた社内の取り組みについて-訴求ファーストによる商品開発-
UX実現に向けた社内の取り組みについて-訴求ファーストによる商品開発-
コンポーネント指向による、Reactのベストプラクティスとバッドプラクティス
コンポーネント指向による、Reactのベストプラクティスとバッドプラクティス
まだ DOM 操作で消耗してるの?
まだ DOM 操作で消耗してるの?
AWS運用における最適パターンの徹底活用
AWS運用における最適パターンの徹底活用
失敗事例で学ぶ負荷試験
失敗事例で学ぶ負荷試験
Similar to JustTechTalk#10 React開発における自動テスト実践
テスト駆動開発の導入ーペアプログラミングの学習効果ー
テスト駆動開発の導入ーペアプログラミングの学習効果ー
Shuji Watanabe
ビジネス的に高価値なアジャイルテスト
ビジネス的に高価値なアジャイルテスト
Tsutomu Chikuba
テスト自動化とアーキテクチャ
テスト自動化とアーキテクチャ
Toru Koido
Unit testで定時帰宅!
Unit testで定時帰宅!
Funato Takashi
JMeterをWebでしか設定できないサーバの設定自動化に使う
JMeterをWebでしか設定できないサーバの設定自動化に使う
隆行 神戸
PHP agile test tips
PHP agile test tips
Tsutomu Chikuba
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
atsushi_tmx
2019 summercamp 04
2019 summercamp 04
openrtm
Casper導入資料
Casper導入資料
Yuuki Tan-nai
Pex を試してみよう!
Pex を試してみよう!
Oda Shinsuke
JaSST16tokyo tm_koyama
JaSST16tokyo tm_koyama
ryuji koyama
スマートなシステム、スマートなディペンダビリティ保証-次世代システムを頼れるものへ
スマートなシステム、スマートなディペンダビリティ保証-次世代システムを頼れるものへ
Fuyuki Ishikawa
ロボット介護機器設計支援ツール、中坊嘉宏(産総研)
ロボット介護機器設計支援ツール、中坊嘉宏(産総研)
robotcare
Qs information20110615
Qs information20110615
Kei Nakahara
モックライブラリを使ってきちんとユニットテストする #Objective-C
モックライブラリを使ってきちんとユニットテストする #Objective-C
Shoichi Matsuda
Qs info 002
Qs info 002
Kei Nakahara
第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ
hakoika-itwg
はこだてIKA 第4回勉強会 単体テスト
はこだてIKA 第4回勉強会 単体テスト
Seiji KOMATSU
Spock's world
Spock's world
Takuma Watabiki
TABOK Skill Category2解説
TABOK Skill Category2解説
Kinji Akemine
Similar to JustTechTalk#10 React開発における自動テスト実践
(20)
テスト駆動開発の導入ーペアプログラミングの学習効果ー
テスト駆動開発の導入ーペアプログラミングの学習効果ー
ビジネス的に高価値なアジャイルテスト
ビジネス的に高価値なアジャイルテスト
テスト自動化とアーキテクチャ
テスト自動化とアーキテクチャ
Unit testで定時帰宅!
Unit testで定時帰宅!
JMeterをWebでしか設定できないサーバの設定自動化に使う
JMeterをWebでしか設定できないサーバの設定自動化に使う
PHP agile test tips
PHP agile test tips
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
2019 summercamp 04
2019 summercamp 04
Casper導入資料
Casper導入資料
Pex を試してみよう!
Pex を試してみよう!
JaSST16tokyo tm_koyama
JaSST16tokyo tm_koyama
スマートなシステム、スマートなディペンダビリティ保証-次世代システムを頼れるものへ
スマートなシステム、スマートなディペンダビリティ保証-次世代システムを頼れるものへ
ロボット介護機器設計支援ツール、中坊嘉宏(産総研)
ロボット介護機器設計支援ツール、中坊嘉宏(産総研)
Qs information20110615
Qs information20110615
モックライブラリを使ってきちんとユニットテストする #Objective-C
モックライブラリを使ってきちんとユニットテストする #Objective-C
Qs info 002
Qs info 002
第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ
はこだてIKA 第4回勉強会 単体テスト
はこだてIKA 第4回勉強会 単体テスト
Spock's world
Spock's world
TABOK Skill Category2解説
TABOK Skill Category2解説
More from JustSystems Corporation
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
JustSystems Corporation
「技術内閣制度」〜2年間やってきて得られた事とこれから〜 #devsumi
「技術内閣制度」〜2年間やってきて得られた事とこれから〜 #devsumi
JustSystems Corporation
事業に貢献する商品開発と その成長の仕組み作り ~これからのエンジニアに必要とされるスキルとは~
事業に貢献する商品開発と その成長の仕組み作り ~これからのエンジニアに必要とされるスキルとは~
JustSystems Corporation
現役23名のPM:タイプ別マネジメントパターン
現役23名のPM:タイプ別マネジメントパターン
JustSystems Corporation
JavaでインメモリSQLエンジンを作ってみた
JavaでインメモリSQLエンジンを作ってみた
JustSystems Corporation
DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話
DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話
JustSystems Corporation
JustTechTalk#11_スマイルゼミ顧客満足度への貢献
JustTechTalk#11_スマイルゼミ顧客満足度への貢献
JustSystems Corporation
ピュアJavaだと思った?残念androidでした~いつからAndroidをJavaだと錯覚していた?~
ピュアJavaだと思った?残念androidでした~いつからAndroidをJavaだと錯覚していた?~
JustSystems Corporation
最新のJava言語仕様で見るモジュールシステム #jjug
最新のJava言語仕様で見るモジュールシステム #jjug
JustSystems Corporation
ジャストシステムのDevOps実例 今後の取り組み
ジャストシステムのDevOps実例 今後の取り組み
JustSystems Corporation
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
JustSystems Corporation
Kotlin is charming; The reasons Java engineers should start Kotlin.
Kotlin is charming; The reasons Java engineers should start Kotlin.
JustSystems Corporation
CSSレイアウトでなぜ失敗するか?
CSSレイアウトでなぜ失敗するか?
JustSystems Corporation
「訴求ファースト」と「こだわり駆動開発」~教育、医療、もの書き市場で戦うプロダクトマネージャーの考え方~
「訴求ファースト」と「こだわり駆動開発」~教育、医療、もの書き市場で戦うプロダクトマネージャーの考え方~
JustSystems Corporation
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
JustSystems Corporation
ArrayListをじっくり読んでみた - JavaコアSDKを読む会を社内でやって気づいたこと -
ArrayListをじっくり読んでみた - JavaコアSDKを読む会を社内でやって気づいたこと -
JustSystems Corporation
ジャストシステムJava100本ノックのご紹介
ジャストシステムJava100本ノックのご紹介
JustSystems Corporation
ATOK Spark のご紹介とJavaによるプラグイン開発について
ATOK Spark のご紹介とJavaによるプラグイン開発について
JustSystems Corporation
スマイルゼミの裏側(db編)
スマイルゼミの裏側(db編)
JustSystems Corporation
Groonga meetup20151129
Groonga meetup20151129
JustSystems Corporation
More from JustSystems Corporation
(20)
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
「技術内閣制度」〜2年間やってきて得られた事とこれから〜 #devsumi
「技術内閣制度」〜2年間やってきて得られた事とこれから〜 #devsumi
事業に貢献する商品開発と その成長の仕組み作り ~これからのエンジニアに必要とされるスキルとは~
事業に貢献する商品開発と その成長の仕組み作り ~これからのエンジニアに必要とされるスキルとは~
現役23名のPM:タイプ別マネジメントパターン
現役23名のPM:タイプ別マネジメントパターン
JavaでインメモリSQLエンジンを作ってみた
JavaでインメモリSQLエンジンを作ってみた
DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話
DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話
JustTechTalk#11_スマイルゼミ顧客満足度への貢献
JustTechTalk#11_スマイルゼミ顧客満足度への貢献
ピュアJavaだと思った?残念androidでした~いつからAndroidをJavaだと錯覚していた?~
ピュアJavaだと思った?残念androidでした~いつからAndroidをJavaだと錯覚していた?~
最新のJava言語仕様で見るモジュールシステム #jjug
最新のJava言語仕様で見るモジュールシステム #jjug
ジャストシステムのDevOps実例 今後の取り組み
ジャストシステムのDevOps実例 今後の取り組み
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
Kotlin is charming; The reasons Java engineers should start Kotlin.
Kotlin is charming; The reasons Java engineers should start Kotlin.
CSSレイアウトでなぜ失敗するか?
CSSレイアウトでなぜ失敗するか?
「訴求ファースト」と「こだわり駆動開発」~教育、医療、もの書き市場で戦うプロダクトマネージャーの考え方~
「訴求ファースト」と「こだわり駆動開発」~教育、医療、もの書き市場で戦うプロダクトマネージャーの考え方~
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
ArrayListをじっくり読んでみた - JavaコアSDKを読む会を社内でやって気づいたこと -
ArrayListをじっくり読んでみた - JavaコアSDKを読む会を社内でやって気づいたこと -
ジャストシステムJava100本ノックのご紹介
ジャストシステムJava100本ノックのご紹介
ATOK Spark のご紹介とJavaによるプラグイン開発について
ATOK Spark のご紹介とJavaによるプラグイン開発について
スマイルゼミの裏側(db編)
スマイルゼミの裏側(db編)
Groonga meetup20151129
Groonga meetup20151129
JustTechTalk#10 React開発における自動テスト実践
1.
2017/10/27 JustTechTalk#10 株式会社ジャストシステム 田中優太
2.
自己紹介 薬学出身の新卒2年目エンジニアです。
JUST DWHのフロントエンド担当 JUST DWH 医療用データウェアハウス 院内の各システムに散らばったデータを取り込んで 一元化 システムをまたがったデータ抽出・分析、全文検索 フロントエンドにReact-Reduxを採用
3.
E2Eテスト(今回は説明を省略) 実際のユーザー操作で正しく動くこと シナリオテスト数個 ユニットテスト 各モジュールが正しく動くこと Node.js上のテスト
処理系が違うが実行が速いため開発中に使う ブラウザ上でのテスト実行 ユニットテストをブラウザ環境でも動かす ブラウザ間のJSエンジンの違いを確認 テスト以外のバグ検知 ソースコード静的解析(ESLint)
4.
テストランナー Mocha:Node上での実行 Karma:ブラウザ環境での実行 モック・スタブ Sinon.js:コールバック関数のテストなど Enzyme:React.Componentのテスト アサーション Power Assert:APIがシンプルなアサーション
5.
メンテコストを考慮して書く/書かない 特にViewは流動的 Viewはユニットテスト書かない という方針ではない 共通部品はしっかり書く テストしやすい設計は常に意識 テストを書かない判断をした場所も 開発者が不安な点をテストに書く
6.
設計と性能を両立できる (Virtual DOM, 永続データ構造、メモ化) 宣言的プログラミングで可読性が高い (対義語は手続き的、命令型) ライブラリの設計レベルで "テストしやすさ"が考慮されている ここを次から詳しく見ていきます。
React採用事例増加中 Facebook、Instragram、Twitter、Qiita、Trello、Bitbucket、My Visual Studio・・・ React-Redux、フロント以外にも進出中 スマホアプリ(React-Native) デスクトップアプリ(React-Native On Windows、Electron + React-Redux)
7.
※これ以降の説明では、わかりやすさを優先した結果、不正確な記述があります。 Component Middleware ActionCreator Action State Reducer
8.
Component Middleware ActionCreator Action State Reducer Model View Controller
9.
ブラウザ上の HTML Component Middleware ActionCreator Action State Reducer
10.
Component Middleware ActionCreator Action State Reducer In:Stateの一部 Out:仮想HTML要素 純粋関数とは・・ 引数が同じなら返り値が常に同じ
副作用がない 純粋関数のテスト 関数のIN/OUTのセットが正しいかどうか をテストすればいいだけ In: 現在のState Action Out: 新しいState In:生成に必要な情報 Out:Action(JSON) JSON JSON 副作用有 ※コンポーネントを純粋関数というのは少し乱暴かも
11.
状態を"State"に、副作用を"Middleware"に 隔離することで、他の部分の純粋性を実現 Component Middleware ActionCreator Action State Reducer アプリ全体の"状態"を保持する 一つのJSONオブジェクト 基本、読み取り専用。
Reducerによってのみ更新される。 イベント処理全体の流れを記述する 副作用を伴う処理 Reducerでできない処理 API処理、非同期処理、Action の連鎖など
12.
Component Middleware ActionCreator Action State Reducer Stateを更新する関数 現在のStateとActionを受け取って新しいStateを返す
アプリのロジックはStateに対する操作ととらえて実装 テスト 引数と結果の組が正しい → アプリのロジックが正しい In: 現在のState Action Out: 新しいState In:生成に必要な情報 Out:Action(JSON) イベントを表現するJSON 動作の種類(type)と 動作に必要な情報を持つ
13.
Actionとして、以下のような オブジェクトが渡ってくる { type: 'ADD_TASK', name: '掃除', dueDate:
'2017/10/27', }
14.
15.
ブラウザ上の HTML Stateの一部を受け取って、HTMLを描画する。 ステートレス
Props(引数)が同じなら、出力もおなじ Viewクラスをメンバ関数を順番通りに呼ばないとうごかない・・みたいなことがない Propsを使って、出力するHTMLを定義するように記述 テスト 引数と結果の組が正しい → アプリのViewが正しく定義されている Component Middleware ActionCreator Action State Reducer In:Stateの一部 Out:仮想HTML要素
16.
17.
18.
ユニットテストを書く優先度 Reducer アプリのロジックを記述しているため優先度高 Component
Viewは変更頻度が高いため優先度中 但し、共通UIパーツは優先度高 Middleware 重要だがコストが高いため優先度中 ActionCreator JSONを生成するだけなので意味が薄いため優先度低
19.
【効果】 アプリのロジックとViewをユニットテストできている。 開発プロセスの効率化に大きく貢献
テストしやすい設計は、可読性にも貢献 静的解析(ESLint)により 変数名のtypoによるバグなどは未然に防がれている。 【課題】 型導入など、テスト以外でのバグ検知もより充実させる Middlewareにもテストしやすい記述を実現するライブ ラリを導入する(redux-sagaなど)
20.
テスタビリティの面からReact-Reduxを 紹介しました。 自動テストの実行環境整備も大切ですが テストを考慮した設計も大切