
JUnit 5 のメソッドとクラスの可視性の変更
JUnit 5 のメソッドとクラスの可視性の変更
プログラミングの楽しさの1つは、常に最新の状態を保つために必要な学習です。Sensei は、非推奨のパターンを特定し、今後使用するための修正方法を提示することで、移行を支援します。
例えば、JUnit 4からJUnit 5に移行したとき、私はテストクラスやメソッドをすべてpublicに書くことに慣れていました。しかし、JUnit 5では、それらをパッケージ・プライベートにすることができます。
e.g. instead of:
public class Junit5VisibilityTest {
@Test
public void thisDoesNotNeedToBePublic(){
Assertions.assertTrue(true);
}
}
本当は書きたいんだけどね。
class Junit5VisibilityTest {
@Test
void thisDoesNotNeedToBePublic(){
Assertions.assertTrue(true);
}
}
このようにコーディングするためのマッスルメモリーを構築するのに時間がかかり、今でもたまに失敗することがあります。
使用方法Sensei
Sensei を使えば、パブリックなメソッドやクラスを見つけて、宣言をパッケージ・プライベートに自動的に修正するレシピを作ることができます。
そのために、私はレシピを作りました。
名前 - JUnit:JUnit 5 test methods do not need to be public
説明 - JUnit 5 test methods do not need public visibility
レベル - エラー
私は、このコーディング手法を根絶したいと考え、IDEでコードを書いているときにこの問題をより明確にしたいと考え、この問題をErrorに分類しました。
クラス宣言の修正
クラスを見つけるために、私はJunit 5の@Testの子アノテーションを持つすべてのクラスを検索します(org.junit.jupiter.api.Testなど)。
そして、そのクラスが修飾子 public を持つ場合。
search:
class:
with:
child:
annotation:
type:"org.junit.jupiter.api.Test"
modifier:"public"
そして、クイックフィックスでは、モディファイアを変更して可視性を取り除き、デフォルトにします。
availableFixes:
- name: "remove public visibility from JUnit 5 Test class"
actions:
- changeModifiers:
visibility:""
メソッド宣言の修正
メソッド宣言の修正レシピは、クラスのレシピとほぼ同じです。
まず、JUnit 5の@Testでアノテーションされたパブリックメソッドを探します。
search:
method:
annotation:
type:"org.junit.jupiter.api.Test"
modifier:"public"
そして、モディファイアをデフォルトの可視性に変更します。
availableFixes:
- name: "Remove @Test method public visibility"
actions:
- changeModifiers:
visibility:""
ヒント:複数のメソッドを修正する
Sensei は、現在のファイルのすべての違反にQuickFixを適用する機能を持っています。
alt+enterでQuickFixを適用した場合。
QuickFixの名前のメニューを展開すると、以下のようなオプションがあります。
"Fix All: 'JUnit:JUnit 5 test methods do not need to be public "の問題をファイルに記載"
このオプションを選択すると、Sensei は、私が選択したものだけでなく、すべての問題の発生を修正します。

クラスの修正
メソッドがパブリックである必要がないのと同じように、クラスもパブリックである必要はありません。
レシピとQuckFixを作成してクラスを修正することができます。
名前 - JUnit:Junit 5 Test classes do not need to be public
説明 - Junit 5 Test classes do not need to be public
レベル - エラー
公開されているクラスで、@Testアノテーションが付いたメソッドを見つけたとき。そして、可視性を変更したいと思います。
search:
class:
modifier:"public"
anyOf:
- child:
method:
annotation:
type:"Test"
再びchangeModifiersアクションでクラス定義の変更を行うことができます。
availableFixes:
- name: "Remove @Test class public visibility"
actions:
- changeModifiers:
visibility:""
概要
静的解析ツールは、当初、JUnitのこの推奨されるアプローチを警告してくれました。しかし、静的解析ツールでは、プログラミング中に自分のコードを変更するための筋肉の記憶を作ることはできませんでした。
レベル」を使って警告します。コーディングで解決しようとしている問題の場合、最初は「エラー」にして、コーディングのアプローチから自分を解放していくように、このレベルを下げていきます。
なお、Sensei は、QuickFix を適用する際にドロップダウンメニューオプションを使用することで、現在のファイルのすべての問題を同時に修正することができます。
Sensei レシピを作成することで、これまでの自分のコーディング手法をリアルタイムで確認することができます。そして、たまにコーディングに失敗しても、そのアプローチを強化するためにQuickFixすることができます。
---
IntelliJの「Preferences ‾ Plugins」(Mac)または「Settings ‾ Plugins」(Windows)から、「sensei secure code」を検索して、「Sensei 」をインストールすることができます。
このためのソースコードとレシピは、Secure Code Warrior GitHubアカウントの`sensei-blog-examples`リポジトリの`junitexamples`モジュールにあります。
アラン・リチャードソンは、20年以上にわたり、開発者として、またテスターからテスト責任者まで、あらゆるレベルのテストに携わってきたプロフェッショナルなIT経験を持っています。アラン・リチャードソンは、Secure Code Warrior のデベロッパーリレーションズの責任者として、チームと直接連携し、高品質で安全なコードの開発を促進しています。また、「Dear Evil Tester」や「Java For Testers」など4冊の著書があります。また、テクニカルWebテストやSelenium WebDriver with Javaを学ぶためのオンライントレーニングcourses を作成しています。アランは、SeleniumSimplified.com、EvilTester.com、JavaForTesters.com、CompendiumDev.co.ukに執筆やトレーニングビデオを掲載している。

Secure Code Warrior は、ソフトウェア開発ライフサイクル全体にわたってコードを保護し、サイバーセキュリティを最優先とする企業文化を創造するために、お客様の組織を支援します。AppSec マネージャー、開発者、CISO、またはセキュリティに関わるすべての人が、安全でないコードに関連するリスクを減らすことができるよう、支援します。
デモを予約するアラン・リチャードソンは、20年以上にわたり、開発者として、またテスターからテスト責任者まで、あらゆるレベルのテストに携わってきたプロフェッショナルなIT経験を持っています。アラン・リチャードソンは、Secure Code Warrior のデベロッパーリレーションズの責任者として、チームと直接連携し、高品質で安全なコードの開発を促進しています。また、「Dear Evil Tester」や「Java For Testers」など4冊の著書があります。また、テクニカルWebテストやSelenium WebDriver with Javaを学ぶためのオンライントレーニングcourses を作成しています。アランは、SeleniumSimplified.com、EvilTester.com、JavaForTesters.com、CompendiumDev.co.ukに執筆やトレーニングビデオを掲載している。


JUnit 5 のメソッドとクラスの可視性の変更
プログラミングの楽しさの1つは、常に最新の状態を保つために必要な学習です。Sensei は、非推奨のパターンを特定し、今後使用するための修正方法を提示することで、移行を支援します。
例えば、JUnit 4からJUnit 5に移行したとき、私はテストクラスやメソッドをすべてpublicに書くことに慣れていました。しかし、JUnit 5では、それらをパッケージ・プライベートにすることができます。
e.g. instead of:
public class Junit5VisibilityTest {
@Test
public void thisDoesNotNeedToBePublic(){
Assertions.assertTrue(true);
}
}
本当は書きたいんだけどね。
class Junit5VisibilityTest {
@Test
void thisDoesNotNeedToBePublic(){
Assertions.assertTrue(true);
}
}
このようにコーディングするためのマッスルメモリーを構築するのに時間がかかり、今でもたまに失敗することがあります。
使用方法Sensei
Sensei を使えば、パブリックなメソッドやクラスを見つけて、宣言をパッケージ・プライベートに自動的に修正するレシピを作ることができます。
そのために、私はレシピを作りました。
名前 - JUnit:JUnit 5 test methods do not need to be public
説明 - JUnit 5 test methods do not need public visibility
レベル - エラー
私は、このコーディング手法を根絶したいと考え、IDEでコードを書いているときにこの問題をより明確にしたいと考え、この問題をErrorに分類しました。
クラス宣言の修正
クラスを見つけるために、私はJunit 5の@Testの子アノテーションを持つすべてのクラスを検索します(org.junit.jupiter.api.Testなど)。
そして、そのクラスが修飾子 public を持つ場合。
search:
class:
with:
child:
annotation:
type:"org.junit.jupiter.api.Test"
modifier:"public"
そして、クイックフィックスでは、モディファイアを変更して可視性を取り除き、デフォルトにします。
availableFixes:
- name: "remove public visibility from JUnit 5 Test class"
actions:
- changeModifiers:
visibility:""
メソッド宣言の修正
メソッド宣言の修正レシピは、クラスのレシピとほぼ同じです。
まず、JUnit 5の@Testでアノテーションされたパブリックメソッドを探します。
search:
method:
annotation:
type:"org.junit.jupiter.api.Test"
modifier:"public"
そして、モディファイアをデフォルトの可視性に変更します。
availableFixes:
- name: "Remove @Test method public visibility"
actions:
- changeModifiers:
visibility:""
ヒント:複数のメソッドを修正する
Sensei は、現在のファイルのすべての違反にQuickFixを適用する機能を持っています。
alt+enterでQuickFixを適用した場合。
QuickFixの名前のメニューを展開すると、以下のようなオプションがあります。
"Fix All: 'JUnit:JUnit 5 test methods do not need to be public "の問題をファイルに記載"
このオプションを選択すると、Sensei は、私が選択したものだけでなく、すべての問題の発生を修正します。

クラスの修正
メソッドがパブリックである必要がないのと同じように、クラスもパブリックである必要はありません。
レシピとQuckFixを作成してクラスを修正することができます。
名前 - JUnit:Junit 5 Test classes do not need to be public
説明 - Junit 5 Test classes do not need to be public
レベル - エラー
公開されているクラスで、@Testアノテーションが付いたメソッドを見つけたとき。そして、可視性を変更したいと思います。
search:
class:
modifier:"public"
anyOf:
- child:
method:
annotation:
type:"Test"
再びchangeModifiersアクションでクラス定義の変更を行うことができます。
availableFixes:
- name: "Remove @Test class public visibility"
actions:
- changeModifiers:
visibility:""
概要
静的解析ツールは、当初、JUnitのこの推奨されるアプローチを警告してくれました。しかし、静的解析ツールでは、プログラミング中に自分のコードを変更するための筋肉の記憶を作ることはできませんでした。
レベル」を使って警告します。コーディングで解決しようとしている問題の場合、最初は「エラー」にして、コーディングのアプローチから自分を解放していくように、このレベルを下げていきます。
なお、Sensei は、QuickFix を適用する際にドロップダウンメニューオプションを使用することで、現在のファイルのすべての問題を同時に修正することができます。
Sensei レシピを作成することで、これまでの自分のコーディング手法をリアルタイムで確認することができます。そして、たまにコーディングに失敗しても、そのアプローチを強化するためにQuickFixすることができます。
---
IntelliJの「Preferences ‾ Plugins」(Mac)または「Settings ‾ Plugins」(Windows)から、「sensei secure code」を検索して、「Sensei 」をインストールすることができます。
このためのソースコードとレシピは、Secure Code Warrior GitHubアカウントの`sensei-blog-examples`リポジトリの`junitexamples`モジュールにあります。

JUnit 5 のメソッドとクラスの可視性の変更
プログラミングの楽しさの1つは、常に最新の状態を保つために必要な学習です。Sensei は、非推奨のパターンを特定し、今後使用するための修正方法を提示することで、移行を支援します。
例えば、JUnit 4からJUnit 5に移行したとき、私はテストクラスやメソッドをすべてpublicに書くことに慣れていました。しかし、JUnit 5では、それらをパッケージ・プライベートにすることができます。
e.g. instead of:
public class Junit5VisibilityTest {
@Test
public void thisDoesNotNeedToBePublic(){
Assertions.assertTrue(true);
}
}
本当は書きたいんだけどね。
class Junit5VisibilityTest {
@Test
void thisDoesNotNeedToBePublic(){
Assertions.assertTrue(true);
}
}
このようにコーディングするためのマッスルメモリーを構築するのに時間がかかり、今でもたまに失敗することがあります。
使用方法Sensei
Sensei を使えば、パブリックなメソッドやクラスを見つけて、宣言をパッケージ・プライベートに自動的に修正するレシピを作ることができます。
そのために、私はレシピを作りました。
名前 - JUnit:JUnit 5 test methods do not need to be public
説明 - JUnit 5 test methods do not need public visibility
レベル - エラー
私は、このコーディング手法を根絶したいと考え、IDEでコードを書いているときにこの問題をより明確にしたいと考え、この問題をErrorに分類しました。
クラス宣言の修正
クラスを見つけるために、私はJunit 5の@Testの子アノテーションを持つすべてのクラスを検索します(org.junit.jupiter.api.Testなど)。
そして、そのクラスが修飾子 public を持つ場合。
search:
class:
with:
child:
annotation:
type:"org.junit.jupiter.api.Test"
modifier:"public"
そして、クイックフィックスでは、モディファイアを変更して可視性を取り除き、デフォルトにします。
availableFixes:
- name: "remove public visibility from JUnit 5 Test class"
actions:
- changeModifiers:
visibility:""
メソッド宣言の修正
メソッド宣言の修正レシピは、クラスのレシピとほぼ同じです。
まず、JUnit 5の@Testでアノテーションされたパブリックメソッドを探します。
search:
method:
annotation:
type:"org.junit.jupiter.api.Test"
modifier:"public"
そして、モディファイアをデフォルトの可視性に変更します。
availableFixes:
- name: "Remove @Test method public visibility"
actions:
- changeModifiers:
visibility:""
ヒント:複数のメソッドを修正する
Sensei は、現在のファイルのすべての違反にQuickFixを適用する機能を持っています。
alt+enterでQuickFixを適用した場合。
QuickFixの名前のメニューを展開すると、以下のようなオプションがあります。
"Fix All: 'JUnit:JUnit 5 test methods do not need to be public "の問題をファイルに記載"
このオプションを選択すると、Sensei は、私が選択したものだけでなく、すべての問題の発生を修正します。

クラスの修正
メソッドがパブリックである必要がないのと同じように、クラスもパブリックである必要はありません。
レシピとQuckFixを作成してクラスを修正することができます。
名前 - JUnit:Junit 5 Test classes do not need to be public
説明 - Junit 5 Test classes do not need to be public
レベル - エラー
公開されているクラスで、@Testアノテーションが付いたメソッドを見つけたとき。そして、可視性を変更したいと思います。
search:
class:
modifier:"public"
anyOf:
- child:
method:
annotation:
type:"Test"
再びchangeModifiersアクションでクラス定義の変更を行うことができます。
availableFixes:
- name: "Remove @Test class public visibility"
actions:
- changeModifiers:
visibility:""
概要
静的解析ツールは、当初、JUnitのこの推奨されるアプローチを警告してくれました。しかし、静的解析ツールでは、プログラミング中に自分のコードを変更するための筋肉の記憶を作ることはできませんでした。
レベル」を使って警告します。コーディングで解決しようとしている問題の場合、最初は「エラー」にして、コーディングのアプローチから自分を解放していくように、このレベルを下げていきます。
なお、Sensei は、QuickFix を適用する際にドロップダウンメニューオプションを使用することで、現在のファイルのすべての問題を同時に修正することができます。
Sensei レシピを作成することで、これまでの自分のコーディング手法をリアルタイムで確認することができます。そして、たまにコーディングに失敗しても、そのアプローチを強化するためにQuickFixすることができます。
---
IntelliJの「Preferences ‾ Plugins」(Mac)または「Settings ‾ Plugins」(Windows)から、「sensei secure code」を検索して、「Sensei 」をインストールすることができます。
このためのソースコードとレシピは、Secure Code Warrior GitHubアカウントの`sensei-blog-examples`リポジトリの`junitexamples`モジュールにあります。

以下のリンクをクリックし、この資料のPDFをダウンロードしてください。
Secure Code Warrior は、ソフトウェア開発ライフサイクル全体にわたってコードを保護し、サイバーセキュリティを最優先とする企業文化を創造するために、お客様の組織を支援します。AppSec マネージャー、開発者、CISO、またはセキュリティに関わるすべての人が、安全でないコードに関連するリスクを減らすことができるよう、支援します。
レポートを見るデモを予約するアラン・リチャードソンは、20年以上にわたり、開発者として、またテスターからテスト責任者まで、あらゆるレベルのテストに携わってきたプロフェッショナルなIT経験を持っています。アラン・リチャードソンは、Secure Code Warrior のデベロッパーリレーションズの責任者として、チームと直接連携し、高品質で安全なコードの開発を促進しています。また、「Dear Evil Tester」や「Java For Testers」など4冊の著書があります。また、テクニカルWebテストやSelenium WebDriver with Javaを学ぶためのオンライントレーニングcourses を作成しています。アランは、SeleniumSimplified.com、EvilTester.com、JavaForTesters.com、CompendiumDev.co.ukに執筆やトレーニングビデオを掲載している。
JUnit 5 のメソッドとクラスの可視性の変更
プログラミングの楽しさの1つは、常に最新の状態を保つために必要な学習です。Sensei は、非推奨のパターンを特定し、今後使用するための修正方法を提示することで、移行を支援します。
例えば、JUnit 4からJUnit 5に移行したとき、私はテストクラスやメソッドをすべてpublicに書くことに慣れていました。しかし、JUnit 5では、それらをパッケージ・プライベートにすることができます。
e.g. instead of:
public class Junit5VisibilityTest {
@Test
public void thisDoesNotNeedToBePublic(){
Assertions.assertTrue(true);
}
}
本当は書きたいんだけどね。
class Junit5VisibilityTest {
@Test
void thisDoesNotNeedToBePublic(){
Assertions.assertTrue(true);
}
}
このようにコーディングするためのマッスルメモリーを構築するのに時間がかかり、今でもたまに失敗することがあります。
使用方法Sensei
Sensei を使えば、パブリックなメソッドやクラスを見つけて、宣言をパッケージ・プライベートに自動的に修正するレシピを作ることができます。
そのために、私はレシピを作りました。
名前 - JUnit:JUnit 5 test methods do not need to be public
説明 - JUnit 5 test methods do not need public visibility
レベル - エラー
私は、このコーディング手法を根絶したいと考え、IDEでコードを書いているときにこの問題をより明確にしたいと考え、この問題をErrorに分類しました。
クラス宣言の修正
クラスを見つけるために、私はJunit 5の@Testの子アノテーションを持つすべてのクラスを検索します(org.junit.jupiter.api.Testなど)。
そして、そのクラスが修飾子 public を持つ場合。
search:
class:
with:
child:
annotation:
type:"org.junit.jupiter.api.Test"
modifier:"public"
そして、クイックフィックスでは、モディファイアを変更して可視性を取り除き、デフォルトにします。
availableFixes:
- name: "remove public visibility from JUnit 5 Test class"
actions:
- changeModifiers:
visibility:""
メソッド宣言の修正
メソッド宣言の修正レシピは、クラスのレシピとほぼ同じです。
まず、JUnit 5の@Testでアノテーションされたパブリックメソッドを探します。
search:
method:
annotation:
type:"org.junit.jupiter.api.Test"
modifier:"public"
そして、モディファイアをデフォルトの可視性に変更します。
availableFixes:
- name: "Remove @Test method public visibility"
actions:
- changeModifiers:
visibility:""
ヒント:複数のメソッドを修正する
Sensei は、現在のファイルのすべての違反にQuickFixを適用する機能を持っています。
alt+enterでQuickFixを適用した場合。
QuickFixの名前のメニューを展開すると、以下のようなオプションがあります。
"Fix All: 'JUnit:JUnit 5 test methods do not need to be public "の問題をファイルに記載"
このオプションを選択すると、Sensei は、私が選択したものだけでなく、すべての問題の発生を修正します。

クラスの修正
メソッドがパブリックである必要がないのと同じように、クラスもパブリックである必要はありません。
レシピとQuckFixを作成してクラスを修正することができます。
名前 - JUnit:Junit 5 Test classes do not need to be public
説明 - Junit 5 Test classes do not need to be public
レベル - エラー
公開されているクラスで、@Testアノテーションが付いたメソッドを見つけたとき。そして、可視性を変更したいと思います。
search:
class:
modifier:"public"
anyOf:
- child:
method:
annotation:
type:"Test"
再びchangeModifiersアクションでクラス定義の変更を行うことができます。
availableFixes:
- name: "Remove @Test class public visibility"
actions:
- changeModifiers:
visibility:""
概要
静的解析ツールは、当初、JUnitのこの推奨されるアプローチを警告してくれました。しかし、静的解析ツールでは、プログラミング中に自分のコードを変更するための筋肉の記憶を作ることはできませんでした。
レベル」を使って警告します。コーディングで解決しようとしている問題の場合、最初は「エラー」にして、コーディングのアプローチから自分を解放していくように、このレベルを下げていきます。
なお、Sensei は、QuickFix を適用する際にドロップダウンメニューオプションを使用することで、現在のファイルのすべての問題を同時に修正することができます。
Sensei レシピを作成することで、これまでの自分のコーディング手法をリアルタイムで確認することができます。そして、たまにコーディングに失敗しても、そのアプローチを強化するためにQuickFixすることができます。
---
IntelliJの「Preferences ‾ Plugins」(Mac)または「Settings ‾ Plugins」(Windows)から、「sensei secure code」を検索して、「Sensei 」をインストールすることができます。
このためのソースコードとレシピは、Secure Code Warrior GitHubアカウントの`sensei-blog-examples`リポジトリの`junitexamples`モジュールにあります。
目次
アラン・リチャードソンは、20年以上にわたり、開発者として、またテスターからテスト責任者まで、あらゆるレベルのテストに携わってきたプロフェッショナルなIT経験を持っています。アラン・リチャードソンは、Secure Code Warrior のデベロッパーリレーションズの責任者として、チームと直接連携し、高品質で安全なコードの開発を促進しています。また、「Dear Evil Tester」や「Java For Testers」など4冊の著書があります。また、テクニカルWebテストやSelenium WebDriver with Javaを学ぶためのオンライントレーニングcourses を作成しています。アランは、SeleniumSimplified.com、EvilTester.com、JavaForTesters.com、CompendiumDev.co.ukに執筆やトレーニングビデオを掲載している。

Secure Code Warrior は、ソフトウェア開発ライフサイクル全体にわたってコードを保護し、サイバーセキュリティを最優先とする企業文化を創造するために、お客様の組織を支援します。AppSec マネージャー、開発者、CISO、またはセキュリティに関わるすべての人が、安全でないコードに関連するリスクを減らすことができるよう、支援します。
デモを予約するダウンロード始めるためのリソース
OpenText アプリケーションセキュリティのパワー + Secure Code Warrior
OpenText Application Security and Secure Code Warrior combine vulnerability detection with AI Software Governance and developer capability. Together, they help organizations reduce risk, strengthen secure coding practices, and confidently adopt AI-driven development.
Secure Code Warrior corporate overview
Secure Code Warrior is an AI Software Governance platform designed to enable organizations to safely adopt AI-driven development by bridging the gap between development velocity and enterprise security. The platform addresses the "Visibility Gap," where security teams often lack insights into shadow AI coding tools and the origins of production code.
セキュアコード・トレーニングのトピックと内容
Our industry-leading content is always evolving to fit the ever changing software development landscape with your role in mind. Topics covering everything from AI to XQuery Injection, offered for a variety of roles from Architects and Engineers to Product Managers and QA. Get a sneak peek of what our content catalog has to offer by topic and role.
始めるためのリソース
Observe and Secure the ADLC: A Four-Point Framework for CISOs and Development Teams Using AI
While development teams look to make the most of GenAI’s undeniable benefits, we’d like to propose a four-point foundational framework that will allow security leaders to deploy AI coding tools and agents with a higher, more relevant standard of security best practices. It details exactly what enterprises can do to ensure safe, secure code development right now, and as agentic AI becomes an even bigger factor in the future.






