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
Open API + Railsでテストをいい感じにした話
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
syumai
July 18, 2019
200
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Open API + Railsでテストをいい感じにした話
WIPです
syumai
July 18, 2019
More Decks by syumai
See All by syumai
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.8k
Oxlintのカスタムルールの現況
syumai
6
1.2k
Oxlintはいかにしてtsgolintのlint ruleを呼び出しているのか
syumai
2
1.4k
『[入門] Cloudflare Workers』本はなぜ誕生したのか
syumai
0
450
tsgolintはいかにしてtypescript-goの非公開APIを呼び出しているのか
syumai
9
3.2k
知られているようで知られていない JavaScriptの仕様 4選
syumai
3
1.3k
CloudflareのSandbox SDKを試してみた
syumai
0
930
実践AIチャットボットUI実装入門
syumai
9
4.3k
ProxyによるWindow間RPC機構の構築
syumai
3
1.5k
Featured
See All Featured
The Language of Interfaces
destraynor
162
27k
It's Worth the Effort
3n
188
29k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
460
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
750
[SF Ruby Conf 2025] Rails X
palkan
2
1.2k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
660
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
57k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
200
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Transcript
Open API + Railsでテストをいい感じにした 話 平成.rb 2019/7/18 @__syumai
自己紹介 syumai 平成4年生まれ 前職: 株式会社maricuruにてRailsを使ったAPI開発、React / Vue を使ったフロントエンド開発等を行っていました 現職: 決済系の会社でGoのマイクロサービスを開発しています
はじめに
めっちゃWIPです!
本日のテーマ Open API
Open API or Swagger使ってますか?
Open APIとは? YAML / JSONでAPI Specを書ける Swagger 3.0がそのままOpen API 3.0と呼ばれています
書いたAPI Specから色々生成出来る
生成できるものその1 HTMLのいい感じのドキュメント フォームの送信とかも試せる! (Postman的なやつ)
生成できるものその2 サーバー / クライアントの生成 サーバーのinterfaceや、クライアントライブラリ (言語めっちゃ ある) を自動生成出来る 多言語のクライアントを生成したい時にめちゃくちゃ便利
クライアント生成できる言語 https://github.com/OpenAPITools/openapi-generator Ruby / Node.js / TypeScript / Javaなど色々あります
Open APIのSpecのサンプル
Open APIのドキュメントのサンプル
Open APIを使っている人からよく聞く課題 APIの実装とドキュメントがズレてくる ドキュメントがズレてるから、誰もメンテしなくなる 実装とドキュメントがズレると、自動生成したクライアントが使えなく なる
ドキュメントがズレる理由 APIの実装を行う作業と、ドキュメントを書く作業が分離してしまって いるため これを統合できたら解決するはず!
どう解決したか? テストでRailsのAPIを起動する テストに Open APIで生成したClient を使う
このやり方の良い点 同じSpecから生成したClientをJSで使うとして、 Testさえ通っていれば、Client側から使えるのが保証される!
具体的なやり方 Makefileでテスト起動周りをいい感じに書いていく Railsサーバーの起動 Rspecの実行
デモします!!
ポイント テスト用のRailsサーバーと、Rspecで使うDBを共通にする
つらみ エラーが出た箇所のログ追うのがつらい
ご清聴ありがとうございました!!