Slide 1

Slide 1 text

IDC Frontier Inc. All rights reserved. 表参道.rb #32 Pub/Subメッセージングのテスト 株式会社IDCフロンティア 技術開発本部 UX開発部 浅沼 敬 2018年03⽉1⽇

Slide 2

Slide 2 text

2 IDC Frontier Inc. All rights reserved. ⾃⼰紹介 # LIFULL - HOMEʼS 開発リーダー - HOMEʼS 流通ユニット⻑ - HOMEʼS インフラ担当 # ZIGExN - アルバイトEX 開発担当 - 全社インフラ担当 - ベトナム⼦会社 PM # IDCフロンティア(現在) - IDCFクラウドのバックエンド開発 Twitter: @rmaccho Speaker Deck: TakashiAsanuma Github: TakashiAsanuma

Slide 3

Slide 3 text

3 IDC Frontier Inc. All rights reserved. IDCFクラウドのサービス

Slide 4

Slide 4 text

4 IDC Frontier Inc. All rights reserved. IDCFクラウドのPub/Sub UI API MQ Ctrl Worker DB Cloud Stack MQを介して、JSONのメッセージ をPub/Subしています

Slide 5

Slide 5 text

5 IDC Frontier Inc. All rights reserved. テスト戦略 UI システムテスト 各コンポーネント別 振る舞いテスト Unit Test

Slide 6

Slide 6 text

6 IDC Frontier Inc. All rights reserved. 振る舞いテスト(Ctrl) Before: Message Publish MQ Ctrl Result Message Message Templates Expect Message Expect Diff

Slide 7

Slide 7 text

7 IDC Frontier Inc. All rights reserved. テストコード配置 Spec/ behavior/ #ジョブごとの振る舞いテスト shared_examples/ #共有コードの集まり support/ #MQ, JSON関連処理のHelper Message_templates/ templates/ #ジョブごとのメッセージテンプレート message_helper/ builder/ #ジョブごとのメッセージを⽣成

Slide 8

Slide 8 text

8 IDC Frontier Inc. All rights reserved. 良いところ・つらいところ 良いところ - 振る舞い配下の処理に⼿を⼊れやすい - メッセージを定義してBDD的に進めやすい つらいところ - JSON関連の独⾃Utilが・・・ - メッセージをログから取得したりするパースが・・・ - 関連ミドルウェア等が多いと、そのモック⽤意が・・・

Slide 9

Slide 9 text

9 IDC Frontier Inc. All rights reserved. 以上です。 ありがとうございました。