如果您不使用上下文菜单,而是使用键盘快捷键(默认 = Alt-Shift-X
T
),您将看到以下对话框:
这是关于为什么 Eclipse 没有在菜单中显示该选项的提示——它认为没有测试。这显然是错误的。
挖掘(第 160-191 行)的Eclipse 源代码,我发现了这一点:JUnitLaunchShortcut
private void launch(Object[] elements, String mode) {
try {
IJavaElement elementToLaunch= null;
if (elements.length == 1) {
...
}
if (elementToLaunch == null) {
showNoTestsFoundDialog();
return;
}
仅当您仅选择一个测试类时才有效。
菜单选项可见性由org.eclipse.jdt.junit
插件配置 ( plugin.xml
) 控制,并且具有相同的问题(第 221-234 行):
<contextualLaunch>
<enablement>
<with variable="selection">
<count value="1"/>
<iterate>
<adapt type="org.eclipse.jdt.core.IJavaElement">
<test property="org.eclipse.jdt.core.isInJavaProject"/>
<test property="org.eclipse.jdt.core.hasTypeOnClasspath" value="junit.framework.Test"/>
<test property="org.eclipse.jdt.junit.canLaunchAsJUnit" forcePluginActivation="true"/>
</adapt>
</iterate>
</with>
</enablement>
</contextualLaunch>
开始时的<count value="1"/>
位是选择器,这意味着相同的事情:您必须精确选择一个项目,或者菜单项不会显示。
我想我们已经找到了问题:)
我还检查了这两个文件的历史记录,它们自 2006 年 9 月以来就没有更改过。因此,如果您设法使用更新的版本执行此操作,您很可能安装了某种插件来让您执行此操作。