Junitのソースコードにはこんなコードがあります
1 protected void validateInstanceMethods(List < Throwable > errors) {
2 validatePublicVoidNoArgMethods(After. class , false , errors);
3 validatePublicVoidNoArgMethods(Before. class , false , errors);
4 validateTestMethods(errors);
5 if (computeTestMethods().size() == 0 )
6 errors.add( new Exception( " No runnable methods " ));
7 }
8 protected void validateTestMethods(List < Throwable > errors) {
9 validatePublicVoidNoArgMethods(Test. class , false , errors);
10 }
これは、@Before、@After、および @Test のアノテーションが付けられたメソッドが public、void、非静的である必要があり、パラメーターを取らないことを示します。