Eclipse3.2.1で使ってみたところ若干使いにくいところがあったので改造してみました。
objectContributionでadaptable="true"を"false"に変更しました。
<objectContribution
objectClass="org.eclipse.jdt.core.IJavaElement"
adaptable="false"
id="junit.extensions.eclipse.quick.object.java">
JavaElements.javaに以下のメソッドを追加し、getTestMethodOrClass()から呼び出すようにしました。
private static IType toTestRunnerPassibleClass(IJavaElement element)
throws JavaModelException {
if (element instanceof ICompilationUnit) {
ICompilationUnit compilationUnit = (ICompilationUnit) element;
IType[] types = compilationUnit.getAllTypes();
for (int i = 0; i < types.length; i++) {
if (Flags.isPublic(types[i].getFlags())) {
return types[i];
}
}
}
return null;
}