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
52
スナックミーの開発はワクワクだらけ! / 2024-04-05
tamago3keran
0
130
アウトプットのハードルを下げた! / 2024-03-25
tamago3keran
0
360
ドメイン駆動設計 勉強会 〜 ドメインサービス編 〜 / 2024-03-05
tamago3keran
0
65
ドメイン駆動設計 勉強会 〜 エンティティ編 〜 / 2024-02-20
tamago3keran
0
71
ドメイン駆動設計 勉強会 〜 値オブジェクト編 〜 / 2024-02-06
tamago3keran
1
1.3k
スカウト返信率を倍にするためにやったこと / 2024-01-29
tamago3keran
2
950
Rails 経験者が FastAPI 本を読んで感じたこと / 2023-11-28
tamago3keran
0
1.2k
アウトプットのモチベーションはみんな違ってみんな良い! / 2023-10-06
tamago3keran
0
1.1k
Other Decks in Programming
See All in Programming
聞き手から登壇者へ: RubyKaigi2024 LTでの初挑戦が 教えてくれた、可能性の星
mikik0
1
140
どうして僕の作ったクラスが手続き型と言われなきゃいけないんですか
akikogoto
1
120
Figma Dev Modeで変わる!Flutterの開発体験
watanave
0
150
광고 소재 심사 과정에 AI를 도입하여 광고 서비스 생산성 향상시키기
kakao
PRO
0
170
距離関数を極める! / SESSIONS 2024
gam0022
0
290
3rd party scriptでもReactを使いたい! Preact + Reactのハイブリッド開発
righttouch
PRO
1
610
デザインパターンで理解するLLMエージェントの作り方 / How to develop an LLM agent using agentic design patterns
rkaga
4
490
Flutterを言い訳にしない!アプリの使い心地改善テクニック5選🔥
kno3a87
1
210
Streams APIとTCPフロー制御 / Web Streams API and TCP flow control
tasshi
2
360
Click-free releases & the making of a CLI app
oheyadam
2
120
CSC509 Lecture 12
javiergs
PRO
0
160
ローコードSaaSのUXを向上させるためのTypeScript
taro28
1
640
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.9k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
47
2.1k
Scaling GitHub
holman
458
140k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
Building an army of robots
kneath
302
43k
Making Projects Easy
brettharned
115
5.9k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Agile that works and the tools we love
rasmusluckow
327
21k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.2k
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/ スナックミーでは、「おやつと、世界を面白 く」していく、そんな活動を仕事として取り 組みたいエンジニアを募集しています。