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
GitHub Copilot で効率よくユニットテストが書ける / 2023-04-14
Search
Takuma Yamamoto
April 14, 2023
Programming
0
1k
GitHub Copilot で効率よくユニットテストが書ける / 2023-04-14
https://zenn.dev/tamago3keran/articles/81d47ab813259f
Takuma Yamamoto
April 14, 2023
Tweet
Share
More Decks by Takuma Yamamoto
See All by Takuma Yamamoto
ドメイン駆動設計 勉強会 〜 リポジトリ編 〜 / 2024-04-23
tamago3keran
0
49
スナックミーの開発はワクワクだらけ! / 2024-04-05
tamago3keran
0
120
アウトプットのハードルを下げた! / 2024-03-25
tamago3keran
0
350
ドメイン駆動設計 勉強会 〜 ドメインサービス編 〜 / 2024-03-05
tamago3keran
0
64
ドメイン駆動設計 勉強会 〜 エンティティ編 〜 / 2024-02-20
tamago3keran
0
71
ドメイン駆動設計 勉強会 〜 値オブジェクト編 〜 / 2024-02-06
tamago3keran
1
1.2k
スカウト返信率を倍にするためにやったこと / 2024-01-29
tamago3keran
2
930
Rails 経験者が FastAPI 本を読んで感じたこと / 2023-11-28
tamago3keran
0
1.2k
アウトプットのモチベーションはみんな違ってみんな良い! / 2023-10-06
tamago3keran
0
1.1k
Other Decks in Programming
See All in Programming
組織に自動テストを書く文化を根付かせる戦略(2024秋版) / Building Automated Test Culture 2024 Autumn Edition
twada
PRO
10
4.3k
Vue3の一歩踏み込んだパフォーマンスチューニング2024
hal_spidernight
3
2.9k
Vue.js学習の振り返り
hiro_xre
2
130
The future of development – Are our jobs getting harder or easier?
hollycummins
1
240
役立つログに取り組もう
irof
24
7.7k
Universal Linksの実装方法と陥りがちな罠
kaitokudou
1
220
PagerDuty を軸にした On-Call 構築と運用課題の解決 / PagerDuty Japan Community Meetup 4
horimislime
1
100
いかにして不足・不整合なくデータ移行したか
tjmtmmnk
1
1k
僕がつくった48個のWebサービス達
yusukebe
17
16k
cXML という電子商取引の トランザクションを支える プロトコルと向きあっている話
phigasui
2
2k
Importmapを使ったJavaScriptの 読み込みとブラウザアドオンの影響
swamp09
3
1.2k
Go言語でターミナルフレンドリーなAIコマンド、afaを作った/fukuokago20_afa
monochromegane
2
140
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
How GitHub (no longer) Works
holman
311
140k
We Have a Design System, Now What?
morganepeng
50
7.2k
Designing the Hi-DPI Web
ddemaree
280
34k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
5
140
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
41
9.2k
GitHub's CSS Performance
jonrohan
1030
460k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Art, The Web, and Tiny UX
lynnandtonic
296
20k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Transcript
Takuma Yamamoto GitHub Copilot で 効率よくユニットテストが書ける
BIOGRAPHY あなたは誰ですか? 技術スタック SNS 趣味 • バックエンド: Ruby on Rails
• フロントエンド: React • アプリ: React Native Takuma Yamamoto Work at snaq.me From Miyazaki • https://github.com/tamago3keran • https://twitter.com/yamataku3831 • https://qiita.com/tamago3keran • https://zenn.dev/tamago3keran • おやつ • サウナ • アニメ ...
TODAY’s TOPIC GitHub Copilot で効率よくユニットテストが書けることを紹介
TODAY’s GOAL GitHub Copilot 導入のきっかけに 導入事例を知る 導入へのきっかけ GitHub Copilot の導入によって、ど
ういったメリットを享受できるか、 デモも合わせて紹介します。 ご自身で開発しているプロダクトに 導入してみようかなと、考えるきっ かけになれば嬉しいです。
そもそも GitHub Copilot とは何ですか? What is GitHub Copilot?
INTRODUCTION AI による開発サポートツール Your AI pair programmer GitHub Copilot uses
the OpenAI Codex to suggest code and entire functions in real-time, right from your editor. 引用元: https://github.com/features/copilot GitHub Copilot とは、 OpenAI が開発した人工 知能モデル「OpenAI Codex」を使用し、コー ドや機能をサジェストしてくれる "あなたのAI ペアプログラマー" です。
GitHub Copilot はどのようにして使用しますか? How to use GitHub Copilot?
公式ドキュメントに沿って、自身のアカウントにて GitHub Copilot を有効にします。 (公式ドキュメント: https://docs.github.com/en/copilot/quickstart ) 有料のサービスではありますが、2023年4月現在60日間のフリートライアルがあります。 GETTING STARTED
自身のアカウントで GitHub Copilot を有効にする 引用元:https://github.com/features/copilot
公式ドキュメントに沿って、プラグインをエディタに導入します。 (公式ドキュメント: https://docs.github.com/ja/copilot/getting-started-with-github-copilot) 2023年4月現在、以下のエディタに対応したプラグインが提供されています。 GETTING STARTED エディタにプラグインを導入する 引用元:https://github.com/features/copilot
GitHub Copilot を使ったテスト実装のデモ Demonstration
DEMONSTRATION - Ruby GitHub Copilot の力を借りる前にちょっとだけ準備 user_test.rb user.rb まずはコメントでどういったテストを書きたいのか記載します。 そして、参考になるテストコードをちょっとだけ書いておきます。
DEMONSTRATION - Ruby GitHub Copilot に少しずつサジェストしてもらう neovim ではインサートモードに入って、少し待つとコードがサジェストされます。 タブを押すとサジェストされたコードが反映されます。
DEMONSTRATION - Ruby GitHub Copilot に他の候補も表示してもらう また GitHub Copilot は複数の候補を持っている場合があります。
パネルを開くと、候補が複数表示され、適切なものを選択するとそれがコードに反映されます。
DEMONSTRATION - JavaScript GitHub Copilot の力を借りる前にちょっとだけ準備 generation_text.test.js generation_text.js まずはコメントでどういったテストを書きたいのか記載します。 そして、参考になるテストコードをちょっとだけ書いておきます。
DEMONSTRATION - JavaScript GitHub Copilot に少しずつサジェストしてもらう こちらもインサートモードに入って、コードがサジェストされるのを少し待ちます。 タブを押してサジェストされたコードを反映しましょう。
DEMONSTRATION - JavaScript GitHub Copilot に他の候補も表示してもらう パネルを開いてみましたが、今回はひとつしか表示されませんでした。 候補を選択して Enter を押すと、一気に複数行のコードが反映されます。
終わりに... Impression
• 公式で紹介されている通り、 "Your AI pair programmer" であることを実感。 • 「全てのコードを代わりに書いてくれる」というわけではない。 •
とても優秀な相棒が一緒に開発してくれている感。 • GitHub Copilot X が出るなど、今後も進化していくツールであるはず。 • アップデートをキャッチアップして、よりスピーディーな開発を目指したい。 IMPRESSION GitHub Copilot を使ってみて...
エンジニア募集中です! Recruitment
RECRUITMENT We are Hiring! スナックミー 採用 https://team.snaqme.com/ スナックミーでは、「おやつと、世界を面白 く」していく、そんな活動を仕事として取り 組みたいエンジニアを募集しています。