Slide 1

Slide 1 text

其阿彌 孝明 (GOAMI Takaaki) GitHub Copilot Agent ライブデモ GitHub Copilot LT会 - 2025/04/25(金)

Slide 2

Slide 2 text

自己紹介 2 Engineering Manager in DevOps(CI/CD, SET, DX) 其阿彌 孝明 GOAMI Takaaki (@goataka_) 興味‧関⼼ 漫画 ランニング 物理学(素粒⼦‧数学) 娘 社外発信 ‧Qiita Engineer Summit 2021 Winter  「チャットツール連携の開発を通して描く業務アプリケーションの未来」 ‧⾃動化⼤好きエンジニアLT会 - vol.10 (2023)  「CodeceptJSにトライしてみた」 ‧JaSST nano vol.43 (2024)  「なぜCodeceptJSを選んだか」

Slide 3

Slide 3 text

この記事の内容で紹介しているユニットテスト作成の流れを再現します。 3 概要 https://qiita.com/goataka/items/f35423265630ed68d3d2

Slide 4

Slide 4 text

前提 4 ● 設定 ○ Gradle ○ Java ○ VSCode ○ GitHub Copilot Chat ● 条件 ○ Previewの機能は利用ない

Slide 5

Slide 5 text

デモの流れ 5 ● Gradleプロジェクトの作成 ● Javaの関数の作成 ● ユニットテストの作成と実行 ● パターンテストへの変更 ● 関数の仕様変更への対応 ● テストケースを1グループに統合 ● Java docへの追記と出力

Slide 6

Slide 6 text

Gradleプロジェクトの作成 6 - Gradleプロジェクトを作成してください。 - 言語:java - タイプ:ライブラリ - DSL: groovy - テストツール: Junit-jupiter - プロジェクト名: demo-agent - パッケージ: demo.agent - 作成は初期化コマンドを利用してください。 - javaのバージョンを17にしてください。 - wrapperバージョンを7.6に変更してください。 - ユニットテストのログが出るようにしてください。 - そして、Gradleでユニットテストを実行してください。 プロンプト

Slide 7

Slide 7 text

Javaの関数の作成 7 - CalendarUtils.javaを作成してください - 作成フォルダ: lib/src/main/java/demo/agent - 関数:isHolidayを実装してください - 引数:Calendar - 返り値:土日の場合にtrueになる - javadocを日本語で書いてください。 プロンプト

Slide 8

Slide 8 text

ユニットテストの作成と実行 8 - ユニットテストを作成してください - テストケースの内容をDisplayNameで日本語で設定してください。 - 平日と休日のテストは1つテストで実現してください。 - そして、ユニットテストを実行してください。 - Library,LibraryTestは利用しないので、削除してください。 - そして、ユニットテストを実行してください。 プロンプト

Slide 9

Slide 9 text

パターンテストへの変更 9 - ユニットテストをパラメータライズドで記載してください。 - その場合にはMethodSourceを利用してください。 - そして、ユニットテストを実行してください。 プロンプト

Slide 10

Slide 10 text

関数を仕様変更への対応 10 - 作成済みのisHolidayに引数を追加し、土曜日を含むか指定できるようにしてください。 - 合わせて、テストも修正してください。 - そして、ユニットテストを実行してください。 - MethodSourceのtrue, falseが分かり辛いので定数にしてください。 - そして、ユニットテストを実行してください。 - Calendarがnullだった場合にExceptionを返すようにしてください。 - また、合わせてテストを作成してください。 - そして、ユニットテストを実行してください。 プロンプト

Slide 11

Slide 11 text

テストケースを1グループに統合 11 - 同じ関数のテストを1つのインナークラスに纏めてください。 - そして、ユニットテストを実行してください。 プロンプト

Slide 12

Slide 12 text

Java docへの追記と出力 12 - javadocの@seeにtestのpathを記載してください。 - ""で囲ってください。 - そして、javadocを出力してください。 プロンプト

Slide 13

Slide 13 text

ご清聴ありがとうございました。 13

Slide 14

Slide 14 text

【GitHub Copilot LT会】コード生成も、それ以外にも!生成 AI活用事例共有会 14 Appendix: 発表イベント https://connpass.com/event/349610/