Bug 56016 JUnitLaunchShortcut#launchConfiguration() should call DebugUITools#launch() instead of config.launch() [JUnit]
I20040324 ILaunchConfiguration#launch(String, IProgressMonitor) never performs a build prior to the launch. DebugUITools#launch(ILaunchConfiguratio, String) saves and builds the workspace according to the current preference settings.
org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/launcher/JUnitLaunchShortcut.java
method.getElementName()
		);
		if (config == null) {
			config= createConfiguration(
				method.getJavaProject(),
				declaringType.getElementName()+"."+method.getElementName(), 
				fullyQualifiedName,
				"", 
				method.getElementName()
			);
		}
		launchConfiguration(mode, config);
	}
	protected void launchConfiguration(String mode, ILaunchConfiguration config) {
		try { 
			if (config != null) {
				DebugUITools.saveAndBuildBeforeLaunch();
				config.launch(mode, null);
			}			
		} catch (CoreException e) {
			ErrorDialog.openError(getShell(), JUnitMessages.getString("LaunchTestAction.message.launchFailed"), e.getMessage(), e.getStatus());  
		}
	}
	
	/**
	 * Prompts the user to select a type
	 * 
	 * @return the selected type or <code>null</code> if none.
	 */
	protected IType chooseType(IType[] types, String mode) {