ゴールデンウィークだというのに、ゴールデンウィーク前に仕事でやっていた単体テストが気になって仕方ないアーシです。
システム開発の工程の一つに、単体テストという工程があります。
私、単体テストって苦手なんですよね。
プロジェクトによってはブラックボックステストで十分ということもあり、ホワイトボックステストである単体テストは工程としてそもそもスキップされることもあるため、他の工程と比べて単純に私の経験値が少ないというのもあるかもしれません。
私が単体テストを行う場合、基本的にはJUnitを使ったJavaの単体テストを行うのですが、
JUnitを使ったJavaの単体テストってリフレクションやモックを使って強引に動作されるところがあり、独自の構文など、知らなければできないことも結構多いんです。
色々調べながら仕事を進めていきます。
【直近で学んだ自分用メモ】
AAAClass aaaClass = new AAAClass();
Method testMethod = AAAClass.class.getSuperclass().getSuperclass().getDeclaredMethod("methodName", List.class, String.class);
testMethod.setAccessible(true);
testMethod.invoke(aaaClass, (Object) list, (Object) strArray);
(注)継承している階層の数だけ.getSuperclass()が必要
(注)引数がListの場合は中身によらずList.classでよい
(注)引数が配列の場合はその型の右側にを記載する